React.memo๋ ๊ณ ์ฐจ ์ปดํฌ๋ํธ(Higher Order Component)์ ๋๋ค.
์ปดํฌ๋ํธ๊ฐ ๋์ผํ props๋ก ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ ๋๋งํด๋ธ๋ค๋ฉด, React.memo๋ฅผ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ์ด์ง(Memoizing)ํ๋๋ก ๋ํํ์ฌ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฑ๋ฅ ํฅ์์ ๋๋ฆด ์ ์์ต๋๋ค.
์ฆ, React๋ ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋งํ์ง ์๊ณ ๋ง์ง๋ง์ผ๋ก ๋ ๋๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค.
React.memo๋ props ๋ณํ์๋ง ์ํฅ์ ์ค๋ค.
์์ ๋ฅผ ํตํด ์์๋ณด์.๐
App.js
App.js์์ Child ์ปดํฌ๋ํธ๋ก props๋ฅผ ์ ๋ฌํ์๋ค.
Child.js
๋ถ๋ชจ ๋์ด ์ฆ๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ฉด Child ์ปดํฌ๋ํธ๋ ๋ฆฌ๋ ๋๋ง์ด ์์๋๋๋ฐ ์ ๋ ๊ฒ memo๋ฅผ importํด์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ธ์ฃผ๋ฉด ๋๋ค.
React.memo๋ ์ ์ ํ๊ฒ ์ฌ์ฉํ์ฌ์ผ ํ๋ค. React.memo๋ ํจ์๋ฅผ ์บ์์ ์ ์ฅํ๋ค ๋๋ฌธ์ ๋๋์ ์ปดํฌ๋ํธ๋ค์ ์ ์ฅํ๋ ๊ฒ์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ก ์ด์ด์ง๊ธฐ์ ์ฃผ์ํด์ผ ํ๋ค.
์ถ์ฒ
https://www.youtube.com/watch?v=oqUgcxwrnSY๐
https://ko.reactjs.org/docs/react-api.html#reactmemo