Props
ํ์ต ํค์๋
Props
์์ ํจ์
๊ตฌ์กฐ ๋ถํด ํ ๋น
Distructuring
Prop Drilling
Props
๐ Props๋?
Properties์ ์ค์๋ง
๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ฃผ๋ ๊ฐ์ฒด
์์ ์ปดํฌ๋ํธ๊ฐ ํ์ ์ปดํฌ๋ํธ์ ๊ฐ(= Data)์ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ์์ฑ์ด๋ค.
๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ์ ๋ฌํ๋ props ์์ ๊ฐ๋ฅํ์ง๋ง, ์์ ์ปดํฌ๋ํธ๋ props ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๋ค.
๋ชจ๋ React ์ปดํฌ๋ํธ๋ ์์ ์ props๋ฅผ ๋ค๋ฃฐ ๋ ๋ฐ๋์ ์์ ํจ์์ฒ๋ผ ๋์ํด์ผ ํฉ๋๋ค. by.React ๊ณต์๋ฌธ์
์์ ํจ์๋?
์์ ํจ์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์์ ์ฐ์ด๋ ๊ฐ๋ ์ด๋ค.
ํจ์ ๋ด๋ถ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ค์ด ์ธ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ด๋ ํ Input์ ์ ๋ฌํด๋ ๋๊ฐ์ ์ํ(ํ์ )๋ก output์ ๋ฐํํด์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋ ํจ์ โ ์ ๋ ฅ๊ฐ์ ๋ํด ํญ์ ๋์ผํ ์ถ๋ ฅ๊ฐ์ ๋ฐํํ๋ ํจ์๋ก, ์ธ๋ถ์ํ์ ์ํฅ์ ๋ผ์น๋ ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ ํจ์๋ฅผ ์๋ฏธํ๋ค.
๐ค ๋ฆฌ์กํธ๋ ์ปดํฌ๋ํธ๋ฅผ props๋ฅผ ๋ค๋ฃฐ ๋ ์์ ํจ์์ฒ๋ผ ๊ตฌ์ฑํด์ผ ํ ๊น?
์์ธก ๊ฐ๋ฅ์ฑ ๋์ผํ props๋ฅผ ์ ๋ฌ ํ์ ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์์ธก ๊ฐ๋ฅํ ๋์์ ๋ณด์ฅ ํ ์ ์๋ค.
ํ ์คํธ ์ฉ์ด์ฑ ์ ๋ ฅํ ๊ฐ์ ๋ฐ๋ผ ํญ์ ๋์ผํ ์ถ๋ ฅ๊ฐ์ ๋ฐํํ๊ธฐ์ Unit Test(๋จ์ ํ ์คํธ)ํ๊ธฐ๊ฐ ์ฝ๋ค.
์ฑ๋ฅ ์ต์ ํ ์์ ์ปดํฌ๋ํธ์์ ์ ๋ฌ ๋ฐ์ ํ์ ์ปดํฌ๋ํธ์์ props๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ฏ๋ก ๋ณ๊ฒฝ ํ ์ ์๋ค. props๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ ๋ ๋๋ง์ ๊ฑด๋๋ธ ์ ์์ผ๋ฏ๋ก ์ฑ๋ฅ์ ์ต์ ํ ํ ์ ์๋ค.
์ ์ง๋ณด์์ฑ ๋ถ์์ฉ์ด ์๋ ์์ํจ์๋ ์ฝ๋์ ์๋๋ฅผ ๋ช ํํ๊ฒ ํํ ํ ์ ์์ด ์ ์ง๋ณด์๊ฐ ์ฝ๋ค.
โ ์ปดํฌ๋ํธ๊ฐ ์์ ํจ์๋ก ์์ฑ๋๋ฉด, ์ํ๋ณํ๋ฅผ ์ถ์ ํ๊ธฐ ์ฝ๊ณ , ์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์๋ค. ๋ฐ๋ผ์ ๋ฆฌ์กํธ์์๋ ์์ ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ๊ถ์ฅํ๊ณ ์๋ค.
๐ค React๋ Props๋ฅผ Date Destructuring์ ํตํด ์ฌ์ฉํ๊ธฐ๋ฅผ ๊ถ์ฅํ๊ณ ์๋ค
Data destructuring(๊ตฌ์กฐ๋ถํดํ ๋น)์ ํตํด ์ ๋ฌ๋ฐ์ props์ ๋ด์ฉ๋ค์ ์ง๊ด์ ์ด๊ณ ๊ฐ๋ ์ฑ ์ข์ ์ฝ๋๊ฐ ๋ ์ ์๊ณ , ํ๋๊ฐ ์๋ ์ฌ๋ฌ props๋ฅผ ์ ๋ฌ ๋ฐ๋ ๊ฒฝ์ฐ ํจ๊ณผ์ ์ผ๋ก ํ์ฉ ํ ์ ์๋ค.
๐ค Prop Drilling ์ด๋?
Props๋ ์์ ์ปดํฌ๋ํธ์์ ํ์์ปดํฌ๋ํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์ ๋ฌ ๋ฐ์ ํ์ ์ปดํฌ๋ํธ๋ props ๊ฐ์ ๋ณ๊ฒฝ ํ ์ ์๊ธฐ์ ๋ฐ์ดํฐ๋ ๋จ๋ฐฉํฅ ํ๋ฆ์ ๊ฐ์ง๊ฒ ๋๋ค. Prop Driling
์ Props๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณผ์ ์์ ์ค๊ฐ ์ปดํฌ๋ํธ๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ์ง ์์์๋ ์์ ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ ์ํด props๋ฅผ ์ ๋ฌํด์ผ ํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
Prop Drilling ๋ฌธ์ ์
์ปดํฌ๋ํธ์ ๊ณ์ธต๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง๊ณ ๋ง์์ง๊ฒ ๋๋ ๊ฒฝ์ฐ props๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ ๋ฐ๊ฒ ๋๋ค๋ฉด ๋นํจ์จ์ ์ธ ํ์๋ค์ด ๋ฐ์ํ๊ฒ ๋๋ค.
์ฌ์ฉํ์ง๋ ์๋ props ์ ๋ฌ๋ก ์ธํด ์ฝ๋๊ฐ ๊ธธ์ด์ง
props์ ์ด๋ฆ์ด ๋ณ๊ฒฝ ๋๋ค๋ฉด
Prop Drilling ํด๊ฒฐ ๋ฐฉ๋ฒ
์ ์ญ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
redux, Mobx, recoil ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ด ํ์ํ ์ปดํฌ๋ํธ์ ์ง์ ๋ถ๋ฌ์ ์ฌ์ฉ
Children์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ
โ๐ป Props ์ ๋ฆฌ
์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ์ ๊ฐ์(๋ฐ์ดํฐ)๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ์์ฑ์ด๋ฉฐ, ๋ฐ์ดํฐ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค.
ํ์ ์ปดํฌ๋ํธ๋ ์ ๋ฌ๋ฐ์ props ๊ฐ์ ๋ณ๊ฒฝ ํ ์ ์์ผ๋ฉฐ, ๊ตฌ์กฐ๋ถํดํ ๋น์ ํตํด props ๊ฐ์ฒด๋ฅผ ๋ฐ์ ์ฌ์ฉํ๋ค.
์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ๋ก props๋ฅผ ์ ๋ฌํ๊ณ , ์ ๋ฌ ๋ฐ์ props ๊ฐ์ ๋ณ๊ฒฝ ํ ์ ์์ด ๋จ๋ฐฉํฅ ํ๋ฆ์ ๊ฐ๊ฒ ๋๋ฉฐ, ์ปดํฌ๋ํธ์ ๊ณ์ธต๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง๊ณ ๋ง์์ง๊ฒ ๋๋ค๋ฉด props๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๋ ๊ณผ์ ์์ ๋นํจ์จ์ ์ธ ํ์๋ค์ด ๋ฐ์ํ๊ฒ ๋๋ค.
Prop Drilling
๐ ์ฐธ๊ณ
Last updated