๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฆฌ์กํธ ์๋ จ๊ฐ์๋ ์ดํดํ๊ณ ์ถ๊ฐ๊ฐ์๋ ๋ฃ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ๋๋ ๊ธฐ๋ณธ๊ฐ์๋ถํฐ ์ดํด๋ฅผ ์ ๋ชปํด์ ๊ณ์ ์คํธ๋ ์ค๋ฅผ ๋ฐ๊ณ ์๋ค. ์๊พธ๋ง ์ ์ด ๋ ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์น์ข
๊ฐ์ ๋ชจ๋ 2์ฃผ์ฐจ๊น์ง ์ดํดํ๊ณ 3์ฃผ์ฐจ๋ถํฐ๋ ๊ณ์ ๊พธ๋ฒ
๊พธ๋จน ์กธ๊ณ , ์ง์ค๋ ๋ชปํ๊ณ ์ดํด๋ ๋ชปํ๋ ์ํ์ด๋ค. ์ด์ ๋ ์กธ๋๋ผ๋ ๋ณด๋ ค๊ณ ๊ณ์ ์ง๋๋ฅผ ๋๊ฐ๋๋ฐ, ๊ฒฐ๊ตญ ์ฌ๋ฌ๊ฐ์๋ฅผ ๋ค์๋๋ฐ๋ ์กธ๋ฉด์ ๋ด์ ๋จธ๋ฆฌ์ ํ๋๋ ์ ๋จ์์์๋ค. ์ง๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํด์ ๊ณ์ ๊ณ ์ญ์ด์๋๋ฐ, ๊ทธ๋ฅ ๋ด ์๋์ ์์ค์ ๋ง์ถฐ์ผ ๊ฒ ๋ค. ๋ด๊ฐ ์ง์ค์ด ๋๋ ์์ค๊ณผ ์คํ์ผ์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ์ฑ์ฅํ๋ ๋ฐฉ๋ฒ์ ์จ์ผ ๊ฒ ๋ค.
-์ ํ์ฝ๋ฉ ๋ฆฌ์กํธ ๊ฐ์ : ํ ์ธ์ฝ๋ ์ ์ฉ๋ฐ์ 7๋ง์๋ ๊ฒฐ์ฌ
-๋
ธ๋ง๋์ฝ๋ ๋ฆฌ์กํธ ๊ฐ์ ๋ฃ๊ธฐ ์์
์ฌ์ค 2๋ช ์ฉ ์ง์ง์ด์ React level2๊ณผ์ ๋ฅผ ํด์ผ ํ๊ณ ๊ทธ๋ฌ๋ ค๋ฉด ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๊ณ Ducksํจํด์ผ๋ก ๊ตฌํํด์ผ ํ๊ณ .. ๋ญ ๊ทธ๋ฐ ์กฐ๊ฑด์ ๊ฐ์ถ์ด์ผ ํ๋๋ฐ, ์์ง ๋ฌด์จ ๋ง์ธ์ง๋ ์ดํด๊ฐ ์๊ฐ์...๊ทธ๋ฅ ์ง์๊ฒ ์ํด๋ฅผ ๊ตฌํ๊ณ ์ผ๋ฐฉ์ ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ผ ํ ๊ฒ ๊ฐ๋ค. ์ง์ด๋ ๊ฐ์ด ๊ณผ์ ๋ฅผ ํด์ผ ํ๋ค๋ ๊ฒ๋๋ฌธ์ ์ง๋์ฃผ๋ถํฐ ์์ฒญ ๊ดด๋ก์ ๋ค. ๊ฐ์๋ ์ํ๋ฅผ ๋ชปํ๊ณ ๊ณผ์ ๋ ํด์ผํ๊ณ , ๋ฏผํ๊ฐ ๋ ๊น ๋๋ฌด ๋ฏธ์ํ๊ณ ...
โ
๋นํด๋ ๋ง๋ค์ด ๋ ๊ฒ ์์ด์
ํฐ๋ฏธ๋์ yarn create react-app ์ํด๋๋ช
(๋์คํด๋)์ณค๋๋
๋๋ ํ์ฐธ ๋ค์ด๋ก๋๋๊ณ 'cd ๋์คํด๋๋ช
, yarn start ํ๋ฉด์ ๋์ด'์๋ ๊ฒ ๋ ๊ฑธ๋ก ์๊ฐํ๋๋ฐ ์๋ฌ๋ธ. ๊ตฌ๊ธ๋ง์์ ์ด๋ ๋ค๊ณ ํจ.
์๊ณ ๋ณด๋ yarn create..๋ฅผ yarn creaate๋ผ๊ณ ์.ใ
ใ
์ ์ฐ๋๊น ๋ค์ด๋ก๋๋จ
โ
์ ๊ณ์ ์๋ฌ๋๋ ํ๋๋ฐ ์๋ ๊ฒ 'set์ข์์'๋ฅผ ๋จผ์ ์ผ์ด์ผ ํจ.
๐ฉ์ ํ์ฝ๋ฉ์์ด ์๋ ๊ฒ ํ๋ฉด '๊ธ์์ '๋ฒํผ ๋๋ฅด๋ฉด ์ฌ์์ฝํธ๋ก ๋ฐ๋๋๋๋ฐ ์๋จ-> ram์ ๊ฐ์ ['์ฌ์์ฝํธ',..]๋ก ๋ด์ฉ ๋ฐ๊ฟ.ํ์ง๋ง array๋ฅผ ์์ ํ์ง ๋ณ์์ ์๋ ํ์ดํ๋ ์์ ์๋จ. ์๋ ์ ๊ท๋ ๊ธฐ์กดstate๊ฐ ๊ฐ๋ค๊ณ ์๊ฐํด์ state๋ณ๊ฒฝ ์ํด์ค.
๐ฉ(๊ฐ์ ๋ด์ฉ ์ ์๋๋ฐ ์์ง ์ดํด ์๊ฐ ๋ถ๋ถ)state์ง์ ์์ ํ๋ ๊ฒ ์๋๋ผ ์นดํผ๋ณธ ๋ง๋ค์ด์ ์ธ๋ฑ์ค ๋ง์ถฐ์ ์์ ํด์ผ ํจ. ์ด๋ [...]์ ์จ์ค์ผ ๋์ ํจ. why?๋ณต์ฌ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ copy๋ ๊ธฐ๋ณธstate๋ ๋ค๋ฅธ๋ฐ๋ ์์ ์๋จ. ๊ธ์ ๋ชฉ์ด ๋ณ์์ ์ ์ฅ๋์ด์๋ ๊ฑด ํ์ดํ๋ฐ์ ์์,copy์ let๊ธ์ ๋ชฉ์ ์๋ ํ์ดํ๊ฐ ๋ณต์ฌ๋จ. ๋ณ์1,๋ณ์2ํ์ดํ๊ฐ ๊ฐ์ผ๋ฉด ๋ณ์1==๋ณ์2๋น๊ตํด๋ true๋์ด. ์ฌ์์ฝํธ๋ก ๋ฐ๊พผ ํ์ console.lg(copy==๊ธ์ ๋ชฉ)์ฐ์ผ๋ฉด true๋์ด.
array.object๋ reference data type์ด๋ผ์ ๊ทธ๋ผ.
[...๊ธ์ ๋ชฉ]:...๋ ๊ดํธ ๋ฒ๊ฒจ์ฃผ์ธ์๋ผ๋ ๋ฌธ๋ฒ->[]๊ทธ ๋ค์์ ๋ค์ ๊ดํธ ์์ด์ฃผ์ธ์->์์ ํ ๋
๋ฆฝ์ ์ธ ์ฌ๋ณธ(์ด๋ฌ๋ฉด ํ์ดํ๋ ๋ฌ๋ผ์ง), ์ด์ ๋ ์๋ก์ด state๋ผ๊ณ ์๊ฐํด์ ์์ ์ ๋จ.
state๋ณ๊ฒฝํจ์ ํน์ง
๊ธฐ์กดstate==์ ๊ทstate์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ ์ํด์ค
array/objectํน์ง
arry/object ๋ด์ ๋ณ์์ ํ์ดํ๋ง ์ ์ฅ๋จ
let arr =[1,2,3]; [1,2,3]์ arr์ ๋ฃ์ด์ฃผ์ธ์๊ฐ ์๋
[1,2,3]์ RAM์ ๋ฏธ์ง์ ๊ณต๊ฐ์ ์๋ ๊ฒ์ด๊ณ ํ์ดํ๋ง
*state๊ฐ array/object๋ฉด shallow copy(deep copy)๋ฅผ ๋ง๋ค์ด์ ์์ ํด์ผ ํจ