๋ฆฌ์กํธ21 ๋ฆฌ์กํธ์์ setState๋ฅผ ํตํด์ state๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ ์ด์ / setState์ ๋น๋๊ธฐ์ฑ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ฉด์ ์ฒ์์๋ ์๋ ์๋ฌธ์ด ๊ฐ์๊ธฐ ์๊ฒผ์๋ค. ์ ๋ฆฌ์กํธ๋ useState๋ผ๋ ํ ์ ์ฌ์ฉํด์ ์ํ๊ด๋ฆฌ๋ฅผ ํ๋๊ฒ์ธ๊ฐ ๋ฌผ๋ก ํ ์ ์ฌ์ฉํด์ ๋ผ์ดํ์ฌ์ดํด์ ์กฐ์ํ ์ ์๊ฒ ํ์ฌ ๋ถํ์ํ ๋ฆฌ๋ ๋๋ง์ ๋ง์์ฃผ๊ณ , ๋ด๊ฐ ์ํ๋ ์์ ์ ์ํ๋ ๋์์ ํ๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ผ ๊ฑฐ๋ค. ํ์ง๋ง, ์!! ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ณ์ ์ฌ์ฉํ๋ฏ์ด ์ฌ์ฉํ๋ฉด ์๋๋๊ฒ์ด๋ ์ด๊ฒ ๋ฌธ๋ ๊ถ๊ธํด์ก๋ค ์ด์ state๋ immutable(๋ถ๋ณ์ฑ)์ ์ ์งํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ปดํฌ๋ํธ๋ ํ์ฌ์ this.state์ setState๋ฅผ ๋น๊ตํด์ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ง render ํจ์๋ฅผ ํธ์ถํ๋๋ฐ, state๋ฅผ ์ง์ ์์ ํ๊ฒ ๋๋ฉด ๋ฆฌ์กํธ๊ฐ render ํจ์๋ฅผ ํธ์ถํ์ง ์์ ์ํ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ ๋ ๋๋ง์ด ์ผ์ด๋์ง ์์ ์ ์๋ค. ์ํ ๋ณ๊ฒฝ์ ์ถ์ ํ.. 2022. 10. 21. Redux ๋ฆฌ๋์ค๋ ์ด๋ ต๋ค... Redux? ์ปดํฌ๋ํธ๊ฐ ๋ง์์๋ก ๋ณต์กํด์ง๋ ์ํ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ why? ๊ตฌ์กฐ๊ฐ ์ ์ ๋ณต์กํด์ง๋ฉด์ ๋ถ๋ชจ ์ปดํฌ๋ํธ๋ถํฐ ์ตํ์ ์ปดํฌ๋ํธ๊น์ง ๋ด๋ ค์ค๋ฉด์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋๋ฌด ๋นํจ์จ์ ! ๋ฆฌ๋์ค๋ก ๋ฐ๊นฅ์์ ์ํ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด์ ํจ์จ์ ์ผ๋ก ์ ๊ทผ! ์ดํด๊ฐ ๋์ง ์๋๋ค๋ฉด ์๋์ ๊ฐ์ ์ํฉ์ ๋ณด์! ๐ ์์ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๊ฐ ์๋์ ์ปดํฌ๋ํธ๊ตฌ์กฐ์ ๊ฐ์ด ๋ณต์กํด์ก๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด๋ด ๊ฒฝ์ฐ, ์ตํ์ ์์ ์ปดํฌ๋ํธ๊น์ง ์ํ๋ฅผ ์ ๋ฌํด์ฃผ๊ฑฐ๋ ์์ ์ปดํฌ๋ํธ์์ ๋ฐ์ํ ์ด๋ฒคํธ์ ์ํด์ ๋ค๋ฅธ ๋ฃจํธ์ ์๋ ์ปดํฌ๋ํธ์ ์ํ๋ณํ๋ฅผ ๋ถ๋ฌ์ผ์ผ์ผ์ผํ๋ ์ํ์ผ ๊ฒฝ์ฐ์ผ ๋ ๋นํจ์จ์ ์ผ๋ก ์๋ํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. How? ์์ ์ ๊ฐ ๋ฌธ์ ๋ก ์ ์ํ๋ ์ํฉ๋ค์ ๋ฆฌ๋์ค๋ ๋ฐ๊นฅ์์ ์ํ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋๋ก ๋์์ค ๋ฆฌ.. 2021. 7. 13. [React] LifeCycle (๋ผ์ดํ์ฌ์ดํด, ์๋ช ์ฃผ๊ธฐ) ์น์ ๊ณต๋ถํ๋ค๋ณด๋ฉด ๋น ์ง ์ ์๋๊ฒ ๋ ๋ฐ๋ก ๋ผ์ดํ์ฌ์ดํด์ด๋ค. ์ง๊ธ๊น์ง ๋๋ ๋ผ์ดํ ์ฌ์ดํด ๊ฐ๋ ๋ง ๊ณต๋ถ๋ฅผ ํด์ ์ ํํ๊ฒ ์ด๋์ ์ฐ์ด๊ณ ๋ด๊ฐ ์ฌ์ฉํ๋ฉด์๋ ์ด๊ฒ ๋ผ์ดํ์ฌ์ดํด์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์กฐ์ฐจ ์ ํํ๊ฒ ์์ง ๋ชปํ๊ณ ๋์ด๊ฐ์๋๋ฐ ์ด๋ฒ ๊ธฐํ๋ฅผ ํตํด ์ ํํ ์ง๊ณ ๋์ด๊ฐ๋ ค๊ณ ํ๋ค. ์ผ๋จ, ๊ตฌ๊ธ์ react lifecycle์ด๋ผ๊ณ ์น๋ฉด ํญ์ ๋์ค๋ ๊ทธ๋ฆผ์ด ์๋ค. mount๋ถํฐ unmount๊น์ง ์ข๋ฅด๋ฅต ์๋ ์ฌ์ง์ด๋ค. ๋๋ ๊ทธ๋ฅ ์ด๊ฒ๋ง ๊ณต๋ถํ๊ณ ์๊ณ ์์๋ค. ๊ทผ๋ฐ ์ ๋ผ์ดํ์ฌ์ดํด์ ๋ํด์ ์์์ผํ๋์ง ๊ทผ๋ณธ์ ์ธ ๋ถ๋ถ์ ๋ํด ๋ถ์กฑํ๋ค๊ณ ๋๊ปด์ ์ด๋ฒ์ ๊ทธ ๋ถ๋ถ์ ์ข ๋ ์์ธํ ์์๋ณด๋๋ก ํด์ผ๊ฒ ๋ค! ๋ผ์ดํ์ฌ์ดํด์ด๋? ๋ผ์ดํ ์ฌ์ดํด์ ๊ฐ๋จํ ์๋ฉ๋ง ๋ณด๋๋ผ๋ 'ํ ํ๋ฉด์ด ์์ฑ๋๊ณ ์ฌ๋ผ์ง๊ธฐ๊น์ง์ ๊ณผ์ '์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ ๋ผ์ด.. 2021. 7. 5. [React] Rerendering(๋ฆฌ๋ ๋๋ง) ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ค๋ณด๋ฉด, ํจ์จ์ฑ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋นผ๋์ ์๊ฐ ์๋ ๊ฒ ๊ฐ๋ค. ์ ๋ฒ์ ์ ๋ฆฌํ๋ DOM์์์ ๊ฐ์ ๋๋ ๊ทธ๋ ๊ณ , ์ด๋ค ํ ๊ฐ๋ ์ ๊ณต๋ถํ ๋๋ง๋ค ๊ทธ ๊ฐ๋ ์ด ํจ์จ์ ์ด๊ฒ ๋์์ค๋ค๊ณ ํ๋ ๊ฒ์ด ๋ง๋ค๋๊ฒ์ด๋ค. ๋๋ ์ ์ ์ด๋ฐ ์ง๋ฌธ์ ๋ฐ์ ์ ์ด ์๋ค. '๋ฆฌ๋ ๋๋ง์ด ๋ญ์ง ์์๋์?' ์ด ๊ธ์ ๋ณด๋ ์ฌ๋ฌ๋ถ๋ค์ ๋ฌด์จ ๋๋ต์ ํ๊ฒ ๋๊ฐ? ๋๋ ๊ทธ๋๋ ๋ถ๋๋ฝ์ง๋ง ๋ฆฌ๋ ๋๋ง์ด ๊ทธ๋ฅ ๋ ๋๋ง์ ๋ค์ํ๋ค๋ ๊ฑฐ ์๋๊ฐ? ์ด๋ ๊ฒ ์๊ฐํ์๋ค. ์ฌ์ค ๋ง ๋ป์ ๊ทธ๋ ๋ค. ํ์ง๋ง, ์ง๋ฌธ์ ์๋๊ฐ ๊ณผ์ฐ ์ง์ง ๋ป์ ๋ฌผ์ด๋ณด๋ ๊ฒ์ด์์๊น? ์ด๋ ๋ชจ๋ ์ง๋ฌธ์ ๋ต์ ๊ฐ๋ก๊ฐ์ด ํ ๋๋ ์ง์ ์์ ์ฐจ๋ถํ ๋ค ์ ์ด๋จ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๊ณต๋ถํ๋ฉด์ ์ฑ์๋๊ฐ๊ธฐ ์์ํ๋ค. ๋ฆฌ๋ ๋๋ง์ ๋ฌด์์ธ์ง ๊ทผ๋ณธ๋ถํฐ ์์์ผํ๋ฉฐ, ์ ์ด๊ฑธ ์์์ผํ๋์ง, ์ด๋์์ ์ด ๊ฐ๋ ์ด ์ฐ์ด๋.. 2021. 6. 24. [React] ContextAPI๋ฅผ ์ฌ์ฉํด์ TodoList๋ง๋ค๊ธฐ(2) : contextAPI contextAPI์ ๋ํด์๋ ์ฑ ๐๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ๐์์๋ ๋ค๋ค์ง๋ง ๊ฒ์ผ๋ก๋ ์ดํดํ์ง๋ง, ๋ชธ๊ณผ ๋ง์ ์ ์ฒด์ ์ผ๋ก ์์ง ์ดํด๋ฅผ ๋ชปํ๊ณ ๊นจ๋ซ์ง ๋ชปํ๋ค๋ ์๊ฐ์ด ๋ค์ด์ contextAPI๋ฅผ ์ฌ์ฉํ ์์ ์ธ ํฌ๋๋ฆฌ์คํธ๋ฅผ ์ฐพ์์ ๋ค์ํด๋ณด๊ฒ ๋์๋ค. ์ด๋ฒ ํฌ์คํธ๋ฅผ ์ฐ๋ฉด์ ์ ํ ๋ด ๋ชฉํ๋ ์ด ํฌ์คํธ๋ฅผ ์ฐ๋ฉด์ ๋ค ์ฐ๊ณ ๋์๋ ๋ด๊ฐ contextAPI๊ฐ ๋ญ์ง ์ ๋๋ก ์ค๋ช ํ ์ ์๊ณ ์ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ด์ ํฌ์คํธ๋ ์ด ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๋ฉด์ ์ฌ์ฉํ styled-components์ ๋ํ ์์๋ค์ ๊ณต๋ถํด๋ณธ ํฌ์คํธ์ด๋ค. minjoo-space.tistory.com/56 [React] ContextAPI๋ฅผ ์ฌ์ฉํด์ TodoList๋ง๋ค๊ธฐ(1) : styled-components ๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ์์๋ ํฌ๋๋ฆฌ์คํธ๋ฅผ.. 2021. 2. 9. [React] BrowserRouter VS HashRouter BrowserRouter VS HashRouter ๊ฐ์์์๋ ๊ทธ๋ ๊ณ ์ฑ ์์๋ ๊ทธ๋ ๊ณ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ ๋ ์ด๋๋ ์ด ๋ผ์ฐํฐ๊ฐ ์ข ๋ ํจ์จ์ ์ด๊ณ ,,,์ด๋ฐ ๋ง๋ค์ด ๋ง์๋ค. ๋๋ ์ด ์ค๋ช ๋ค์ด ํ ๋ฒ์ ์ดํด๊ฐ ์๊ฐ๊ธฐ ๋๋ฌธ์ ๋ผ์ฐํฐ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ๋ง์์ ๋จน์๋ค. ์ผ๋จ ์ด ๋ฌด๋น ์น์ ๋ง๋๋๋ฐ ๋น๊ตํ์๋ ๋ผ์ฐํฐ๋ BrowserRouter์ HashRouter ์ด ๋ ๊ฐ์ด๋ค. ๊ทธ๋์ ์ด ๋๊ฐ๋ฅผ ๋จผ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋๋ฐ ์ด ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด์ ์์ฑํด๋ณด์๋ค. ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ์ค๋ช ์ ํด๋ณด๋ ค๊ณ ํ๋ค. Router ๋ผ์ฐํฐ์๋ ๊ธฐ๋ณธ์ ์ธ ๋ผ์ฐํ ์์ฑ๋ค๋ง ์ ์๋์ด์๊ธฐ ๋๋ฌธ์ ์๋์ฒ๋ผ 5๊ฐ์ง ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. BrowserRouter HashRouter MemoryRouter NativeRouter StaticRoute.. 2021. 2. 4. ์ด์ 1 2 3 4 ๋ค์ ๋ฐ์ํ