๐Ÿ›บ ํ•ญํ•ด99 4์ฃผ ์ฐจ WIL

๋ฐ•์šฉ์›ยท2022๋…„ 8์›” 7์ผ
0

ํ•ญํ•ด99 WIL

๋ชฉ๋ก ๋ณด๊ธฐ
4/4

๋ผ์ดํ”„์‚ฌ์ดํด(ํด๋ž˜์Šคํ˜• vs ํ•จ์ˆ˜ํ˜•)

  • ํด๋ž˜์Šคํ˜•

    • Mount

      • constructor
        ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ์ž ๋ฉ”์„œ๋“œ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ๋ฉ”์„œ๋“œthis.props,
        this.state์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋ฆฌ์•กํŠธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

      • getDerivedStateFromProps
        props๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ state๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ฆ‰ props๋กœ ๋ฐ›์•„์˜จ ๊ฒƒ์„ state์— ๋„ฃ์–ด์ฃผ๊ณ  ์‹ถ์„๋•Œ
        ์‚ฌ์šฉํ•œ๋‹ค.

      • render
        ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฉ”์„œ๋“œ๋‹ค.

      • componentDidMount
        ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋งˆ์šดํŠธ ๋จ, ์ฆ‰ ์ปดํฌ๋„ŒํŠธ์˜ ์ฒซ๋ฒˆ์งธ ๋ Œ๋”๋ง์ด ๋งˆ์น˜๋ฉด ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.
        ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ์‹œ์ ์—๋Š” ํ™”๋ฉด์— ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚œ ์ƒํƒœ์ด๋‹ค.
        ์—ฌ๊ธฐ์„œ๋Š” ์ฃผ๋กœ DOM์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—ฐ๋™, ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•„์š”๋กœํ•˜๋Š”
        ๋ฐ์ดํ„ฐ๋ฅผ ajax๋กœ ์š”์ฒญ, ๋“ฑ์˜ ํ–‰์œ„๋ฅผ ํ•œ๋‹ค.


    • Updating

      • getDerivedStateFromProps
        ์ปดํฌ๋„ŒํŠธ์˜ props๋‚˜ state๊ฐ€ ๋ฐ”๋€Œ์—ˆ์„๋•Œ๋„ ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค.
      • shouldComponentUpdate
        ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง ํ• ์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.
      • componentDidUpdate
        ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜๊ณ  ๋‚œ ํ›„ ๋ฐœ์ƒํ•œ๋‹ค.

    • Unmount

      • componentWillUnmount
        ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์ง€๊ธฐ ์ง์ „์— ํ˜ธ์ถœ๋œ๋‹ค. DOM์— ์ง์ ‘ ๋“ฑ๋กํ–ˆ์—ˆ๋˜ ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

  • ํ•จ์ˆ˜ํ˜•

React hooks

  • ๋ฆฌ์•กํŠธ ํ›…?

    ๋ฆฌ์•กํŠธ 16.8๋ฒ„์ „ ๋ถ€ํ„ฐ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์œผ๋กœ, ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์™€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์—…์„ ํ•˜๋˜ ๊ธฐ์กด ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ๋” ์ง๊ด€์ ์ธ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ธฐ๋Šฅ์ด๋‹ค.

  • useState


    ์ƒํƒœ๋ฅผ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ›… API๋กœ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ constructor์—์„œ ์ดˆ๊ธฐํ™” ํ•˜๋Š”๊ฒƒ๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์ด๋‹ค.

  • useEffect

    ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์†Œ๋“œ componentDidMount, componentDidUpdate, componentWillUnmount ๋ฅผ ํ†ตํ•ฉํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ API๋กœ side effect๋ฅผ ๋ฐœ์ƒํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ›… API์ด๋‹ค.
profile
์ดˆ๋ณด๊ฐœ๋ฐœ

0๊ฐœ์˜ ๋Œ“๊ธ€