๐ค ํด๋ก์ ๋ ๋ฌด์์ธ๊ฐ? ์ธ๋ถ ๋ณ์๋ฅผ ๊ธฐ์ตํ๊ณ ์ด ์ธ๋ถ ๋ณ์์ ์ ๊ทผํ ์ ์๋ ํจ์
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์๋ ๋ ์ด์ ์ ๊ทผํ ์ ์์๋ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์ ๋ฆฌ๋ฅผ ํ๋ค.
๊ทธ๋์ ํจ์๊ฐ ์ข ๋ฃ๋๋ฉด ๋ณ์๋ ์ฌ๋ผ์ง๊ณ ๋ ์ด์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค.
ํ์ง๋ง ์ด๋ค ํจ์๊ฐ ์๋ก์ด ํจ์๋ฅผ ๋ฐํํ๊ณ ๊ทธ ํจ์๊ฐ ๋ฐ๊นฅ์ ์๋ ํจ์์ ์๋ ๋ณ์์ ์ ๊ทผํ๋ฉด, ๋ฐ๊นฅ์ ํจ์๊ฐ ์ข
๋ฃ๋์๋ค๊ณ ํ๋๋ผ๋, ์๋ก ๋ง๋ค์ด์ง ํจ์์์ ๋ณ์์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก, ๋ณ์๋ ์ฌ๋ผ์ง์ง ์๋๋ค.
๐ค ํด๋ก์ ๋ ์ด๋ป๊ฒ ๋์ํ๋๊ฐ?
์๋ฐ์คํฌ๋ฆฝํธ์์ ์คํ์ค์ธ ํจ์, ์ฝ๋ ๋ธ๋ก, ์คํฌ๋ฆฝํธ๋ ๋ ์์ปฌ ํ๊ฒฝ์ด๋ผ๋ ๋ด๋ถ ์จ๊น ์ฐ๊ด ๊ฐ์ฒด๋ฅผ ๊ฐ๊ณ ์๋ค.
์ด ๊ฐ์ฒด๊ฐ ๋ณ์๋ฅผ ์์ฑ์ผ๋ก ์ ์ฅํ๊ณ ์๊ณ , ๊ทธ๋ฆฌ๊ณ ์ธ๋ถ ๋ ์์ปฌ ํ๊ฒฝ์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๊ทธ๋์ ๋ด๋ถ์ ์๋ ๋ณ์๋ผ๊ณ ํ๋๋ผ๋, ์ธ๋ถ์ ๋ณ์์ ์ ๊ทผํ ์ ์๊ฒ ํด์ค๋ค.
๋ฐ๊นฅ์ ํจ์๊ฐ ์ข
๋ฃ๋์ด๋, ์๋ก์ด ํจ์๊ฐ ๋ฐ๊นฅ์ ๋ณ์๋ฅผ ๋ ์์ปฌ ํ๊ฒฝ์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์, ์ฐธ์กฐ๋ฅผ ๊ณ์ ๊ฐ์ง๊ณ ์๊ฒ ๋๋ค.
๐ค ํด๋ก์ ๋ ์ ํ์ํ๊ฐ?
๋ฐ๊นฅ์์ ์ ๊ทผํ ์๋ ์์ง๋ง, ๋ด๋ถ์ ํจ์์์๋ง ์ ๊ทผํ ์ ์๋ ํจ์๋ฅผ ๋ง๋ค ์ ์๋ค.
๋ถ๋ถ์ ์ฉํจ์๋ ์ปค๋ฆฌ๋ ํจ์๋ฅผ ๋ง๋ค ์ ์๋ค.
๐ ํจ์์ this๋ฅผ ๋ด๊ฐ ์ํ๋ ๊ฐ์ฒด๋ก ๋ฐ์ธ๋ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ธ๊ฐ?
this๋ ๋ฉ์๋๊ฐ ํธ์ถ๋๋ context์ ๋ฐ๋ผ์ ๋ฐ๋ ์ ์๋ค.
์ด๋ด ๊ฒฝ์ฐ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ํ๋๋ก ๋์ํ์ง ์์ ์ ์๋๋ฐ, ์ฐ๋ฆฌ๋ ๋ํผ ํจ์๋ก ๊ฐ์ธ์ ์ฌ๋ฐ๋ฅธ context๋ก ๊ฐ์ธ์ฃผ๋๊ฐ
ํน์ bind ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ์์ this๋ฅผ ์ฃผ์ ํด์ค์์๋ค.
๐ ๋ถ๋ถ ์ ์ฉ ํจ์๋ ๋ฌด์์ด๊ณ ์ ์ฌ์ฉํ๋๊ฐ?
๋ถ๋ถ ์ ์ฉ ํจ์๋ ๊ธฐ์กด ํจ์์ ์ธ์ ๋ช๊ฐ๋ฅผ ๊ณ ์ ํ ํจ์๋ก ๋งค์ฐ ํฌ๊ด์ ์ธ ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ํฌ๊ด์ ์ธ ๋ณํ ํจ์๋ฅผ ๋ง๋ค ์ ์๋ ์ ์ฉ์ฑ ๋๋ฌธ์ ์ฌ์ฉํ๋ค.
'L'etude' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๋ export default / import 'as' (0) | 2022.05.10 |
---|---|
react background image ์ค์ ํ๊ธฐ (0) | 2022.05.09 |
event.preventDefault() / event.stopPropagation() (0) | 2022.04.20 |
CSS ์น ํฐํธ ์ ์ฉ / ๋ฒ๋ธ๋ง๊ณผ ์บก์ฒ๋ง (0) | 2022.04.20 |
React Router ์ค๋ฅ / TypeScript VFC FC ์ฐจ์ด (0) | 2022.04.08 |
๋๊ธ