3. Thinking in React

React Docs Beta

์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•  ๋•Œ, ๋””์ž์ธ์— ๋„ค๋ชจ ๋ฐ•์Šค๋ฅผ ๊ทธ๋ ค๊ฐ€๋ฉด์„œ, ๋„ค์ด๋ฐ์„ ํ•˜๋ฉด์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ด๋ด๋„ ์ข‹๋‹ค. ์‹ค์ œ๋กœ html ํƒœ๊ทธ๋Š” ๊ฒฐ๊ตญ ์‚ฌ๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ Block์ด๋‹ˆ๊นŒ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค.

์•ฑ์— ๊ธฐ๋Šฅ์„ ๋ถ™์ด์ง€ ์•Š๊ณ  static version์„ ๋จผ์ € ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค. (ํผ๋ธ”๋ฆฌ์‹ฑ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค) ์™œ๋ƒํ•˜๋ฉด, ์ •์ ์ธ ๋ฒ„์ „์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ƒ๊ฐ๋ณด๋‹ค๋Š” ํƒ€์ดํ•‘์ด ๋งŽ์ด ํ•„์š”ํ•˜๊ณ , ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ํƒ€์ดํ•‘ ๋ณด๋‹ค๋Š” ์ƒ๊ฐ์ด ๋งŽ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์—ฌ๊ธฐ์„œ๋„ SRP๊ฐ€ ์ ์šฉ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํผ๋ธ”๋ฆฌ์‹ฑ์„ ํ•˜๋ฉด์„œ ๋™์‹œ์— ๊ธฐ๋Šฅ์„ ๋ถ™์ด๋ ค๊ณ  ํ•˜๋ฉด 2๊ฐ€์ง€์˜ ์ผ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ ๋จธ๋ฆฌ๋„ ๋ณต์žกํ•˜๊ณ  ์†๋„๋„ ๋А๋ ค์งˆ ๊ฒƒ ๊ฐ™๋‹ค. ์ •์ ์ธ ๋ฒ„์ „์„ ๋งŒ๋“ค๋•Œ๋Š” state๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค. state๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค ๋–„ top-down๋ฐฉ์‹ ๋˜๋Š” bottom-up ๋ฐฉ์‹์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ์—์„œ๋Š” top-down์ด ์‰ฝ๊ณ , ๊ทœ๋ชจ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ๋Š” bottom-up์ด ์‰ฝ๋‹ค. state๋Š” ์ ๊ฒŒ ์žก์„์ˆ˜๋ก ์ข‹๋‹ค. state๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์›์น™์€ DRY๋‹ค. state๊ฐ€ ์•„๋‹Œ ๊ฒƒ

  • ์•ฑ์—์„œ ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ๋Š” ๊ฒƒ

  • ๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ž์‹์—๊ฒŒ ์ „๋‹ฌ๋˜๋Š” ๊ฒƒ

  • ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” state๋‚˜ props๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ

Last updated