๐ 7์ฃผ์ฐจ๋ React Router ์ CSS ๋ผ์ด๋ธ๋ฌ๋ฆฌ StyleComponent์ ๋ํด ํ์ต์ ํ๋ค.
6~7์ฃผ์ฐจ ํ์ต์ ์งํํ๋ฉด์ React์์ ํท๊ฐ๋ฆฌ๋๊ฑด์ง JS์์ ํท๊ฐ๋ฆฌ๋๊ฑด์ง .. ์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
props์useState ์ด๋ค ํน์ง์ด ์๊ณ ์ด๋ป๊ฒ ํ์ฉํด์ผํ๋์ง ๋ํต ๊ฐ์ด ์กํ์ง ์๋๋ค.
๋ค๋ค์์ฃผ๋ฉด ํํ๋ก์ ํธ๋ฅผ ์งํํ๋๋ฐ ํฐ์ผ๋ฌ๋ค.
๋๋ ๋จ์๊ฒ ๋ฏผํ๋ผ์น๋ ํ๋์ ์ ๋ง ์ซ์ดํ๋๋ฐ..
์ต์ํ ๋ ๋ผ์น๋ ค๋ฉด 8์ฃผ์ฐจ๋ถํฐ ์์์ ํ ๋ชธ์ด ๋์ด์ผ๊ฒ ๋ค๋ ๋ค์ง์ํ๊ณ
ํ์ต์ ๋ฐฉํด๋๋๊ฒ๊ฐ์ youtube์ instagram์ ์ญ์ ํ๋ค.
๊ทธ๋์ ๋ ์ค๋๋ ์๋ก ์ด ๋๋ฌด ๊ธธ์๋ค..
7์ฃผ์ฐจ ํ์ดํผ๋ฏธ์
์ฃผ์ ๋ ๋ฆฌ์กํธ ์๋ช
์ฃผ๊ธฐ์ ๋ ๋๋ง ๋ฐฉ์์ ๋ํด ์์๋ณด์๋ค.
ํด๋์ค ์ปดํฌ๋ํธ์์๋ง
์ฌ์ฉํ ์ ์์ผ๋ฉฐ,์ถ์ฒ: http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
์ปดํฌ๋ํธ๊ฐ ์ฒ์ ์คํ์ด ๋ ๋ ์์ฑ๋จ๊ณ
๋ฅผ ๋ง์ดํธ(Mount)๋ผ๊ณ ํ๋ค.
๋ง์ดํธ์ ํด๋น๋๋ ์๋ช
์ฃผ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์๋๋ค์ด ์กด์ฌํ๋ค.
constructor
: ์ปดํฌ๋ํธ์ ์์ฑ์ ๋ฉ์๋๋ก, ๊ฐ์ฅ ๋จผ์ ์คํํ๋ ๋ฉ์๋getDerivedStateFromProps
: props ๋ก ๋ฐ์์จ ๊ฒ์ state ์ ์ค์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋render
: ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ๋ ๋ฉ์๋componentDidMount
: ์ปดํฌ๋ํธ์ ์ฒซ๋ฒ์งธ ๋ ๋๋ง์ด ๋ง์น๊ณ ๋๋ฉด ํธ์ถํ๋ ๋ฉ์๋์ปดํฌ๋ํธ์ ์ ๋ฐ์ดํธ ์์๋ ๋ค์๊ณผ ๊ฐ์ ์๋ช ์ฃผ๊ธฐ์ ๋ฉ์๋๋ค์ด ํธ์ถ ๋๋ค.
getDerivedStateFromProps
: ์ปดํฌ๋ํธ์ props ๋ state ๊ฐ ๋ฐ๋์์ ๋๋ ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.shouldComponentUpdate
: ์ปดํฌ๋ํธ์ ๋ฆฌ๋ ๋๋ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์๋๋ค.render
: ์
๋ฐ์ดํธํ ๋ด์ฉ์ ๋ ๋๋งํ๋ค.getSnapshotBeforeUpdate
: ์ปดํฌ๋ํธ์ ๋ณํ๊ฐ ์ผ์ด๋๊ธฐ ์ง์ ์ DOM์ ์๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ณ , ํด๋น ๋ฉ์๋์์ ๋ฐํํ๋ ๊ฐ์ componentDidUpdate ์ ์ธ์๋ก ์ ๋ฌ๋๋ค.componentDidUpdate
: ๋ฆฌ๋ ๋๋ง์ ๋ง์น๊ณ , ํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ณํ๊ฐ ๋ชจ๋ ๋ฐ์๋๊ณ ๋ ๋ค ํธ์ถํ๋ ๋ฉ์๋๋ค. ์ธ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก getSnapshotBeforeUpdate ์์ ๋ฐํํ ๊ฐ์ ์กฐํํ ์ ์๋ค.์ธ๋ง์ดํธ(Unmount)๋ผ๋๊ฒ์, ์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์์ ์ ๊ฑฐ ๋๋๊ฒ์ ์๋ฏธํ๋ฉฐ,
๊ด๋ จ๋ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ componentWillUnmount
ํ๋๊ฐ ์๋ค.
componentWillUnmount()
์ปดํฌ๋ํธ๊ฐ ์ฌ๋ผ์ง๊ธฐ ์ง์ ์ ํธ์ถ์ ํ๊ณ ,
์ฃผ๋ก ์ฌ๊ธฐ์๋ DOM์ ๋ฑ๋กํ์๋ ์ด๋ฒคํธ๋ค์ ์ ๊ฑฐํด์ฃผ๋ ์ฉ๋๋ก ์ฌ์ฉ ๋๋ค.
ํน์ง: JavaScript๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋งํ๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋์ ์ฝํ
์ธ ๊ฐ ํฌํจ๋ ๋ํํ ์น ์ ํ๋ฆฌ์ผ์ด์
ํน์ง: ์๋ฒ์์ ์ ์ก๋ ์ฌ์ ๋ ๋๋ง๋ HTML
์ฌ์ฉ ์ฌ๋ก: ์ฝํ
์ธ ๊ฐ ๋ง์ ์น์ฌ์ดํธ, SEO ์ต์ ํ, ํด๋ผ์ด์ธํธ ์ธก ์ํธ ์์ฉ์ด ์ ์ ์ ํ๋ฆฌ์ผ์ด์
ํน์ง: ๋น๋ ์ ์ฌ์ ๋น๋๋ ์ ์ HTML
์ฌ์ฉ ์ฌ๋ก: ๋น ๋ฅธ ์ด๊ธฐ ํ์ด์ง ๋ก๋๋ฅผ ์ฐ์ ์ํ๋ ๋๋ถ๋ถ์ ์ ์ ์ฝํ
์ธ , ๋ธ๋ก๊ทธ, ๋ฌธ์ ๋ฐ ์ฌ์ดํธ
๐ CSR vs SSR:๋์ ์ํธ์์ฉ์ด ํ์ํ๋ค๋ฉด
CSR
์ ์ ํ , SEO์ ์ด๊ธฐ ๋ก๋ ์ฑ๋ฅ์ด ์ค์ํ๋ค๋ฉดSSR
์ด ์ ํ
SSRvs SSG: ์ฝํ ์ธ ๊ฐ ๋์ ์ผ๋ก ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐSSR
์ด ๋ ์ ํฉํ ์ ์์ต๋๋ค. ์ฝํ ์ธ ๊ฐ ๋๋ถ๋ถ ์ ์ ์ด๊ณ ๋น ๋ฅธ ์ด๊ธฐ ๋ก๋์ ํ์ฅ์ฑ์ ์ด์ ์ ์ํ๋ค๋ฉดSSG
๊ฐ ์ข์ ์ ํ์ด๋ค.
๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ ์ฐ์ฑ๊ณผ ์ต์ ํ๋ฅผ ์ํด ์๋ฒ ์ธก ๋ ๋๋ง ๋๋ ํน์ ํ์ด์ง ์๊ตฌ ์ฌํญ์ ๋ฐ๋ฅธ ์ ์ ์ฌ์ดํธ ์์ฑ์ ์ฌ์ฉํ๋Next.js
์ ๊ฐ์ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์์ ์ ํํ ์ ์๋ค.
Code-it
ChatGPT
React ์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ (Life Cycle)