setState
๋ re-render
์ ๊ตฌ์ฑ ์์๋ก ์ด์ด์ง๋๋ค. render
๊ตฌ์ฑ ์์๋ง๋ค getDerivedStateFromProps
๋ฅผ ํธ์ถํด์ผํฉ๋๋ค. ์ด๊ฒ์ด getDerivedStateFromProps
์๋ ๋ฐฉ์์
๋๋ค.
๊ณ ๋ คํด์ผ ํ ๊ฒ์ ๋ณํฉ์ ์ํด ๋ถ๋ถ ์ํ๋ฅผ ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์์ ์ฝ๋ ์์ด๋ ๋น์ ์ด ๋งํ๊ฑฐ๋ ๋ฌป๋ ๊ฒ์ ์ดํดํ์ง ๋ชปํฉ๋๋ค.
getDerivedStateFromProps
์ํด ๋ฐํ ๋ ์ํ๋ ํ์ฌ props
๋ฐ ์ด์ state
๋ชจ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ๋ฏ๋ก getDerivedStateFromProps
๋ setState
์ดํ์ ํธ์ถ ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค state
๋ฐ๋ผ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ( setState
ํธ์ถ์ ์ํด) ํ์ ๋ ์ํ ๋ ๋ณ๊ฒฝ๋์์ ์ ์์ต๋๋ค ( props
๋ฐ state
์ ์กฐํฉ์ด๊ธฐ ๋๋ฌธ์). .
props
๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ ์ด์ ์ ๋ค์ ํธ์ถํ์ง ์์์ง๋ง์ด ๋์์ผ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์ ์ธ๊ธ ํ๋๋ก 16.4์์ ๋ณ๊ฒฝ (์์ )ํ์ต๋๋ค.
https://reactjs.org/blog/2018/05/23/react-v-16-4.html#bugfix -for-getderivedstatefromprops
์ผ๋ถ ์ฝ๋๋ฅผ ๊ณต์ ํ๊ณ ๋ฉ์๋๊ฐ ์คํ๋๋ ์ด์ ์ ๋ํด ๊ตฌ์ฒด์ ์ธ ์ง๋ฌธ์ํ๊ณ ์ถ๋ค๋ฉด ์ฐ๋ฆฌ ์ค ํ ๋ช ์ด ์ดํด๋ณผ ์ ์์ต๋๋ค. ์ง๊ธ์ ๊ทํ์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ด ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
setState
๋re-render
์ ๊ตฌ์ฑ ์์๋ก ์ด์ด์ง๋๋ค.render
๊ตฌ์ฑ ์์๋ง๋คgetDerivedStateFromProps
๋ฅผ ํธ์ถํด์ผํฉ๋๋ค. ์ด๊ฒ์ดgetDerivedStateFromProps
์๋ ๋ฐฉ์์ ๋๋ค.๊ณ ๋ คํด์ผ ํ ๊ฒ์ ๋ณํฉ์ ์ํด ๋ถ๋ถ ์ํ๋ฅผ ๋ฐํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ฐ์ฌ
@bvaughn , ๋ต๋ณ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค