Lifecycle
Last updated
Last updated
Life Cycle
์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ๋ปํ๋ค. ์ฆ, ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๊ฐ ๋ธ๋ผ์ฐ์ ์์ ๋ํ๋๊ณ , ์
๋ฐ์ดํธ๋๊ณ , ์ฌ๋ผ์ง๊ฒ ๋๋๋ฐ ์ด๋ฌํ ๊ณผ์ ์ด Life Cycle
์ด๊ณ ์ด๋ ํธ์ถ ๋๋ ๋ฉ์๋๊ฐ Life Cycle Method(์๋ช
์ฃผ๊ธฐ ๋ฉ์๋)
์ด๋ค.
์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ ํด๋์คํ ์ปดํฌ๋ํธ์์๋ง ์ฌ์ฉ ํ ์ ์๊ธฐ ๋๋ฌธ์ Life Cycle
๊ฐ๋
์ ๋ํ์ฌ ๋๋ฌด ๋ง์ ์๊ฐ์ ์์ง ์์๋ ๋๋ค. ๋จ์ง ์ด๋ค ๊ฐ๋
์ด๊ตฌ๋ ์ ๋๋ก ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ์.
์๋ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๊ฐ ์์ฑ, ์
๋ฐ์ดํธ, ์ ๊ฑฐ ๋ ๋์ ๊ณผ์ ์ ๋ํ๋ธ ๊ทธ๋ฆผ์ด๋ค. ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๊ฐ๊ฐ์ ๊ณผ์ ์์ ํธ์ถ๋๋ ๋ฉ์๋๊ฐ ์๋ค. ์ด๊ฒ์ด Life Cycle Method
์ด๋ค.
ํ๋ํ๋ ์ดํด๋ณด์.
์ปดํฌ๋ํธ๊ฐ ์์ฑ(๋ง์ดํธ)๋ ๋ ๋ฐ์ํ๋ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ ์๋์ ๊ฐ๋ค.
constructor: ์ปดํฌ๋ํธ์ ์์ฑ์ ๋ฉ์๋, ์ปดํฌ๋ํธ๊ฐ ๋ง๋ค์ด์ง๋ฉด ๊ฐ์ฅ ๋จผ์ ์คํ ๋จ
getDerivedStateFromProps: props
๋ก ๋ฐ์์จ ๊ฒ์ state
์ ๋ฃ์ด์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉ
render: ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง
componentDidMount: ์ปดํฌ๋ํธ์ ์ฒซ๋ฒ์งธ ๋ ๋๋ง์ด ๋ง์น๊ณ ๋๋ฉด ํธ์ถ๋๋ ๋ฉ์๋
์ปดํฌ๋ํธ๊ฐ ์ ๋ฐ์ดํธ ๋๋ ์์ ์ ๋ฐ์ํ๋ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ ์๋์ ๊ฐ๋ค.
getDerivedStateFromProps: ๋ง์ดํธ๊ณผ์ ์์ ๋ฐ์ํ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋์ ๊ฐ์, ์ปดํฌ๋ํธ์ props
๋ state
๊ฐ ๋ฐ๋์์ ๋๋ ํธ์ถ๋จ
shouldComponentUpdate: ์ต์ ํ ํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋๋ก ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง ํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์๋
render
getSnapshotBeforeUpdate: ์ปดํฌ๋ํธ์ ๋ณํ๊ฐ ์ผ์ด๋๊ธฐ ์ง์ ์ DOM ์ํ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์. ๊ทธ ๋ค์ ๋ฐ์ํ๊ฒ ๋๋ componentDidUpdate
ํจ์์์ ์ด์ ๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํจ
componentDidUpdate: ๋ฆฌ๋ ๋๋ง์ ๋ง์น๊ณ , ํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ณํ๊ฐ ๋ชจ๋ ๋ฐ์๋๊ณ ๋ ๋ค ํธ์ถ๋๋ ๋ฉ์๋
์ปดํฌ๋ํธ๊ฐ ์ ๊ฑฐ(์ธ๋ง์ดํธ)๋ ๋ ๋ฐ์ํ๋ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ ์๋์ ๊ฐ๋ค.
componentWillUnmount: ์ปดํฌ๋ํธ๊ฐ ํ๋ฉด์์ ์ฌ๋ผ์ง๊ธฐ ์ง์ ์ ํธ์ถ
์ง๊ธ๊น์ง ์ดํด๋ณธ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ ํด๋์คํ ์ปดํฌ๋ํธ์์ ๋ค๋ฃจ๋ ๊ฒ๋ค์ด๋ค. ์ด๋ฌํ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ค์ ํจ์ํ ์ปดํฌ๋ํธ์์๋ useEffect()
ํ
์ผ๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.
์๋์ 3๊ฐ์ง์ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ useEffect()
ํ
์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ ๋ง์ง๋ง์ผ๋ก ์ด๋ฒ ์ฑํฐ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ค.
componentDidMount
componentDidUpdate
componentWillUnmount
๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋์ ๋ํด ์์ธํ ๋ฐฐ์ฐ๊ธฐ ๋ณด๋ค๋ ํด๋์คํ ์ปดํฌ๋ํธ์์์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๊ฐ ํจ์ํ ์ปดํฌ๋ํธ์์๋ ์ด๋ป๊ฒ ์ฌ์ฉ์ด ๋๋์ง์ ๋ํด์
useEffect()
ํ ์ ํตํด ์์ธํ ๋ฐฐ์ ๋ค. ์ด๋ค ๊ฐ์์์๋useEffect()
ํ ์ ๋ํด ์์ธํ ์ค๋ช ์ ํด์ฃผ๊ณ ์์๋ ๋ง์ด ๋ค์ด์ฃผ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ ํ์คํ ํ๋ก์ ํธ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ํด๋์คํ ์ปดํฌ๋ํธ์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ ํ ๋ ๋๋ฌด ์ค์ํด์ ๊ผญ ์์์ผ ํ๋ ๊ฐ๋ ์ด์๋ค๊ณ ์๊ฐํ๋ค. ์ง๊ธ React Hooks ์ฒ๋ผ ๋ง์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์ ๊ฐ React Hooks๋ ๋ค๋ฅธ ํ๊ธฐ์ ์ธ ๋ฌด์ธ๊ฐ๋ก ๋์ฒด๋๋ ๋ ์ด ์ค๊ฒ ์ง? React๋...
๐ 2022-07-12