React - The-Next-Web-Research-Lab/the-next-web-research-lab.github.io GitHub Wiki

React

1. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

(๋‹ต๋ณ€) ์ปดํฌ๋„ŒํŠธ ์ •์˜ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” Hook์„ ์‚ฌ์šฉํ•ด์„œ ๋ผ์ดํ”„์‚ฌ์ดํด์ด๋‚˜ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ , ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์˜๋œ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ์‚ฌ์šฉํ•˜๊ณ , state์™€ setState๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

  • useMemo์™€ useCallback์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
    • (๋‹ต๋ณ€) useMemo๋Š” ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜๊ณ  ์žฌ๊ณ„์‚ฐ์„ ๋ฐฉ์ง€ํ•˜๊ณ , useCallback์€ ํ•จ์ˆ˜๋ฅผ ์บ์‹ฑํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • useEffect์— 2๋ฒˆ์งธ ์ธ์ž์— ๋นˆ ๋ฐฐ์—ด์„ ๋„˜๊ธฐ๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?
    • (๋‹ต๋ณ€) ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ์‹œ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
2. React๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ๋–„ key๋ฅผ ๋„ฃ์œผ๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๋ฅผ ๋„ฃ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?
  • (๋‹ต๋ณ€) React๊ฐ€ ์–ด๋–ค ํ•ญ๋ชฉ์„ ๋ณ€๊ฒฝ, ์ถ”๊ฐ€, ์‚ญ์ œํ•  ๋•Œ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
3. ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ(HoC)์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  • React์—์„œ ์ˆœ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?
4. ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜์‹œ๋‚˜์š”?
  • Flux ํŒจํ„ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. ์™œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?
    • (๋‹ต๋ณ€) MVC์˜ ์—ฐ์‡„์ ์ธ ๊ฐฑ์‹  ๊ทธ๋ฆฌ๊ณ  ์˜ˆ์ธกํ•˜๊ธฐ ํž˜๋“  ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
      • Actions-Dispatcher-Stores-Views ๊ตฌ์กฐ๋กœ ์ด๋ค„์ง€๊ณ ,
      • Action๋Š” ์ƒํ˜ธ์ž‘์šฉ, Dispatcher๋Š” ๋ชจ๋“  Action์„ ๋ฐ›๊ณ , Stores์˜ ์ฝœ๋ฐฑ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
      • Stores๋Š” ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๊ณ  Views๊ฐ€ ๋ณ€๊ฒฝ๊ฐ์ง€๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
      • Views๋Š” Controller-Views ํ˜•ํƒœ๋ฅผ ์ด๋ฃจ๊ณ , Store์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ View๋ฅผ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • MVC ํŒจํ„ด๊ณผ ๋น„๊ตํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?
  • Redux(ํ˜น์€ Mobx) ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  • Redux์™€ ์ „์—ญ ๋ณ€์ˆ˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • Redux์—์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜์…จ๋‚˜์š”?
    • ์‚ฌ์šฉํ•œ ๋ฏธ๋“ค์›จ์–ด์— ๋Œ€ํ•œ ์งˆ๋ฌธ๋“ค(thunk, saga, observable ๋“ฑ)
5. Concurrent ๋ชจ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  • Suspense์— ๋Œ€ํ•ด ์•Œ๊ณ  ๊ณ„์‹ ๋Œ€๋กœ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”
  • (๋Œ€๋ฉด ๋ฉด์ ‘ ์‹œ) ํ™”์ดํŠธ๋ณด๋“œ์— Suspense ์‚ฌ์šฉ๋ฒ•์„ ์ฝ”๋“œ๋กœ ์ ์–ด์ฃผ์„ธ์š”
6. Context API์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”