Posts
Q&A
useSelector ๊ณผ ์ปดํฌ๋ํธ ๋ ๋๋ง
์๋๋ ์ ๊ฐ ์ดํดํ ๋ด์ฉ์ธ๋ฐ ํน์ ์ ๋ชป ์ดํดํ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ง์ด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์์ ์์ shallowEqual ๋ฅผ ์ฌ์ฉํ์ง ์์ useSelector(state => state.value3) ๋ ์ด๋ฏธ ๋ ํผ๋ฐ์ค ๋น๊ต๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ๊ตณ์ด shallowEqual ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์. (์คํ๋ ค shallowEqual ์ฌ์ฉ์ 1-depth ๊ฐ์ฒด์ ๋ชจ๋ ์์ฑ์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๋นํจ์จ) useMySelector(state => [state.value3]) ์ฒ๋ผ [] ํ์์ผ๋ก store ์ ๊ฐ์ ๊บผ๋ผ ๊ฒฝ์ฐ ์ก์ ์ด dispatch ๋ ๋๋ง๋ค ๋งค๋ฒ ๋ฐฐ์ด์ด ์์ฑ๋๊ณ , ๋๋ฌธ์ ์ค์ ๋ก ์ํ ๋ณ๊ฒฝ์ด ์๋๋ผ๋ ๋งค๋ฒ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ์ ์๋๋ฐ, shallowEqual ์ฌ์ฉํด์ [] ์ 1-depth ๋ฐฐ์ด ์์ดํ ์ ๋น๊ตํ๋๋ก ๊ฐ์ ํด์ ๋ณ๊ฒฝ ์ ๋ฌด๋ฅผ ์บ์นํ์ฌ ๋ถํ์ํ ๋ ๋๋ง์ ํ์ง ์๋๋กํจ. ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค!
- 1
- 3
- 509
Q&A
useSelector ์ฌ์ฉ์ ๋ฌธ์ ์ ๋ฌธ์
๋์คํธ๋ญ์ณ๋ง์ ํน์ useSelector ๋ด์์ ์ต์ ํํด์ ๊บผ๋ด์ฃผ๋ ๋ญ๊ฐ ์์๊น ์ถ์ด ๋ฌธ์๋๋ ธ๋๋ฐ ํ์คํ๊ฒ ํ๋ ค๋ฉด ์ปดํฌ๋ํธ ๋ด์์ store ์ฐธ์กฐ์ ์๋ ์ฒ๋ผ ๊บผ๋ด์์ผ ๋ถํ์ํ ์ฐ์ฐ์ ํ์ง ์๊ฒ ๋ค์. const user = useSelector(store => store.user); const posts = useSelector(store => store.posts); ๋ต๋ณํด ์ฃผ์ ๋ด์ฉ ํตํด์ ์ด๋ป๊ฒ ์ฐ๋๊ฒ ๋ ์ฑ๋ฅ์ ์ข๊ฒ๋ค๋ ํ๋จ์ ๋๋๋ฐ ํน์ ์ง์ ๋ก๊ทธ๋ฅผ ์ฐ์ด๋ณธ๋ค๋์ง ํด์ ํ์ธํ ์ ์์๊น์? ์์ฆ ๋๋ฐ์ด์ค, ๋ธ๋ผ์ฐ์ ์์ง๋ค ๋ค ์ฑ๋ฅ์ด ์ข์ ์ฝ๋ ์์ฒด๋ ๊ฐ๋ ์ ์ข์ ๋ฐฉ์์ผ๋ก ์ง๋๊ฒ ๋ ์ข๋ค๊ณ ์๊ฐ์ ํ๋๋ฐ ๋์คํธ๋ญ์ณ๋ง์ผ๋ก store ์ฐธ์กฐ์ ์ค์ ๋ก ์ด๋์ ๋ ๋ฌด๋ฆฌํ ์ฐ์ฐ์ธ์ง ์ง์ ํ์ธํ ์ ์์ผ๋ฉด ํธ๋ ์ด๋ ์คํ๋ฅผ ์ข ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์์ ๊ฒ ๊ฐ์ ๋ฌธ์๋๋ฆฝ๋๋ค.
- 0
- 2
- 302




