๐ ์ค๋๋ ์ด์ ์ ๊ฐ์ด ๋๋ฌด ๋๋ฌด ๋์ด๋ ์ด๋ค!! ํ์ง๋ง ์์ด์ปจ๊ณผ ํจ๊ป๋ผ๋ฉด ๊ณต๋ถํ๋๋ฐ ์ ํ ์ง์ฅ์ด ์๋ค ๐ ๐
์ค๋์ Redux๋ฅผ ๋ฐฐ์ฐ๊ธฐ์ ์ ์ํ๊ด๋ฆฌ๋ฅผ ์ ํ๋์ง ํ์ตํ๊ณ Redux๋ฅผ ๋ฏธ๋ฆฌ ํ์ตํด๋ณผ ์์ ์ด๋ค.(์ด๋ฏธ ํ์ต ํด๋ณธ๊ฑด ์๋น๋ฐ)
๐ ์ค๋ ํ์ตํ ๋ด์ฉ
ํ๋ก ํธ์๋ ๊ฐ๋ฐ ์ํ๊ด๋ฆฌ
- ์ํ: UI์ ๋์ ์ผ๋ก ํํ๋ ๋ฐ์ดํฐ(๋ณํ๋ ๋ฐ์ดํฐ)
- Side Effect: ํจ์(์ปดํฌ๋ํธ)์ ์
๋ ฅ ์ธ์๋ ํจ์์ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น๋ ์์ธ
- ๋ํ์ ์ธ ์: ๋คํธ์ํฌ ์์ฒญ (๋ฐฑ์๋ API ์์ฒญ)
- ๋ก์ปฌ: ํน์ ์ปดํฌ๋ํธ ์์์๋ง ๊ด๋ฆฌ๋๋ ์ํ
- ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ์ง ์๋ ํผ ๋ฐ์ดํฐ (input box, select box ๋ฑ)
- ์ ์ญ: ํ๋ก๋ํธ ์ ์ฒด ํน์ ์ฌ๋ฌ ์ปดํฌ๋ํธ์์ ๊ด๋ฆฌ๋๋ ์ํ
- ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ณต์ ํ๊ณ ์ํฅ์ ๋ผ์น๋ ์ํ
- ์ ์ญ ๋ณ์๋ฅผ ๋จ์ฉํ๋ ๊ฒ์ ์ข์ง ์์ง๋ง ์๋ก ๋ค๋ฅธ ์ปดํฌ๋ํธ๊ฐ ๋์ผํ ์ํ๋ฅผ ๋ค๋ฃฐ ๋๋ ์ถ์ฒ๋ ์ค์ง ํ ๊ณณ์์ ์ํ๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค. (ํ๋์ ์ถ์ฒ = ์ ์ญ ๊ณต๊ฐ)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํด ๋์ผํ ๋ฐ์ดํฐ๋ ํญ์ ๊ฐ์ ๊ณณ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์ค๋๋ก ํ๋ค. (Single source of truth)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ: ๋ฐ์ดํฐ์ ์ ํ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ด๋ ์์ ์ ์ ํ์ ๋์ด ์์ ์ฑ์ ์ ํดํ๋ ์์๋ฅผ ๋ง๊ณ ์ํ๋ค์ ํญ์ ์ณ๊ฒ ์ ์งํ๋ ๊ฒ.
- ์ ์ญ์ผ๋ก ์ํ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ
- ํ ๋ง ์ค์
- ๊ตญ์ ํ ์ค์
- ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ ํด
- React Context
- Redux
- MobX
- ์ํ ๊ด๋ฆฌ ํด์ ๊ธฐ๋ฅ
- ์ ์ญ ์ํ ์ ์ฅ์ ์ ๊ณต
- Props drilling ์ด์ ํด๊ฒฐ
๐ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ
[udemy] React ์๋ฒฝ ๊ฐ์ด๋ ๊ฐ์ ๋ณด๊ธฐ (๋งค์ผ ์กฐ๊ธ์ฉ ์ด๋ผ๋ ๊พธ์คํ ๋ฃ๊ธฐ)
Redux ๊ณต๋ถํด๋ณด๊ธฐ
๐ ์ค์ํ ๋ด์ฉ
- ์ํ๊ด๋ฆฌ๋ฅผ ํ ๋, ๋ก์ปฌ๊ณผ ์ ์ญ์ ์ ํ์ฉํด์ผ ํ๋ค.
- Redux: ์ํ๊ด๋ฆฌ๋๊ตฌ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.07.07_TIL (0) | 2022.07.07 |
---|---|
22.07.06_TIL (0) | 2022.07.06 |
22.07.04_TIL (0) | 2022.07.04 |
22.07.01_TIL (0) | 2022.07.01 |
22.06.30_TIL (0) | 2022.06.30 |