TIL -์ผ๊ฐํ์ต๊ธฐ๋ก/React9 Use effect ์ defendency array ์ ๋ํ์ฌ use effect 2022. 5. 23. API, UseEffect๋ก ๊ด๋ฆฌํ๊ธฐ Use Effect๊ฐ ์์ง ์ด๋ค ๋ ์์ธ์ง ์๋ชจ๋ฅด๊ฒ ๋ค.. ๊ณต์๋ฌธ์ ํ์ธ ๊ณ ๊ณ UseEffect = ํจ์ ์ปดํฌ๋ํธ ๋ด์์ side Effect ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. *Side Effect๋ ํจ์๊ฐ ์คํ๋๋ฉด์ ํจ์์ธ๋ถ์ ์กด์ฌํ๋ ๊ฐ์ด๋ ์ํ๋ฅผ ๋ณ๊ฒฝ์ํค๋ ํ์์ด๋ค. ex) ํจ์๋ด์์ ์ ์ญ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝ์ํค๊ฑฐ๋ ํจ์์ธ๋ถ ๋ฒํผ์ ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ก์ ํ๋ ๊ฒ๋ฑ์ด ์๋ค. ํจ์๋ ์ ๋ฌ๋ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ์ฐ์ฐ์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผํ๋ฉฐ ๊ฒฐ๊ณผ๋ ํญ์ ์ผ๊ด๋๊ณ ์์ธก ํ ์์์ด์ผํ๋ค. ๊ทธ๋์ผ ํ๋ก๊ทธ๋จ์ด ์ฝ๊ณ ๋จ์ํ๋ฉฐ ์ ์ง๋ณด์ ํ๊ธฐ๊ฐ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฆฌ์กํธ์๋ ์ ์ฐจํ ํ๋ก๊ทธ๋๋ฐ์์ ํํ ์กด์ฌํ๋ ์์ ์ธ Side Effect ์ฒ๋ฆฌ๋ฅผ ์ํด Use Effect() ํจ์๊ฐ ์๋ค. ์์๋ฅผ ํ์ฉ.. 2022. 2. 17. Stateairline-client ๊ณผ์ [React] ๋ฐ์ดํฐ ํ๋ฆ์ ์ดํด์ ๋น๋๊ธฐ ์์ฒญ ์ฒ๋ฆฌ ์ดํ์ ๊ฑธ์ณ ๋ฐ์ดํฐ์ ํ๋ฆ, state์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ์ useEffect AJAX์์ฒญ์ ๋ํด ๊ณต๋ถํ๋ค. ๋ฆฌ์กํธ์ ์ปดํฌ๋ํธ๋ 1๊ฐ์ง์ ์ผ๋ง ํ๊ณ ๋จ๋ฐฉํฅ์ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ฐ์ง๋ค. ๊ทธ๋์ ๋ฐ์ดํฐ๋ฅผ ์ด๋์ ๋ด์์ค์ผํ ์ง ์ ํด์ค์ผํ๋ค.(๋ฐ์ดํฐ์ ์) ๋ถ๋ชจ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์์๊ฒ props(์ฝ๊ธฐ์ ์ฉ)๋ก ๋ด๋ ค์ค๋ค(์ธ์ ํน์ ์์ฑ์ฒ๋ผ ๋ด๋ ค์ค) ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ค๋ฐ์ง๋ง ๋ฐ์ดํฐ๊ฐ ์ด๋์์ ์๋์ง๋ ์์ง๋ชปํ๋ค. [์ํ๋์ด์ฌ๋ฆฌ๊ธฐ] ๋ฐ์ดํฐ์ ํ๋ฆ์ด top-down ๋ฐฉ์์ด์ง๋ง, ์์์ปดํฌ๊ฐ ๋ถ๋ชจ์ปดํฌ์ ์ํ๋ฅผ ๋ฐ๊ฟ์ผํ๋ ๊ฒฝ์ฐ์๋ (์. ์์์ปดํฌ์ ์ ์ก๋ฒํผ์ด ์์ด ํด๋ฆญ์ ๋ถ๋ชจ์ ๋ฐ์ดํฐ ๋ชฉ๋ก์ด ์ ๋ฐ์ดํธ ๋์ด์ผ ํ๋๊ฒฝ์ฐ) ๋ถ๋ชจ์ปดํฌ๋ด์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ํจ์๋ฅผ ๋๊ณ ์์์ปดํฌ์ ์ด ์ํ .. 2022. 2. 9. Weather API & data component ์ค๋์ todolist ์์ 1. ์์ด์ด ํ๋ ์ + ์ปดํฌ๋ํธ ๋๋๊ธฐ. 2.Data , Weather Component ๋ง๋ค๊ธฐ. 1. ์์ด์ด ํ๋ ์ + ์ปดํฌ๋ํธ ๋๋๊ธฐ. ์ ์ฒด ํ์ด์ง๋ App์ ๋์ฐ๊ณ , ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ ๊ฐ์ ํ ์ผ์ ์๊ฒ ๋๋์ด ๋ง๋ค๊ธฐ๋ก ํ๋ค. App์ ํ์๋ ์ปดํฌ๋ํธ ์ธ์๋ Listํด๋์ ๋ฐ๋ก ๋ด์๋์๋ค. ์ด๋ป๊ฒ state์ props๋ฅผ ๋ด๋ ค์ฃผ์ด์ผ ํ ์ง ํท๊ฐ๋ฆด๊ฒ ๊ฐ์์ ๋ถ๋ชจ์์๊ฐ์ ํธ๋ฆฌ๊ตฌ์กฐ๋ ํํํด๋ดค๋ค. ๋งค์ผ ๋ฐ๋ณตํ ์ผ์ ์ ๋์ธ DayLoop์ ๋น์ผ ์ผ์ ํ์ ๋ฆฌ์ ๋ TodoList๋ AddList๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ผ์ ์ ์ถ๊ฐํ ๋ ํ ๊ธ๋ฒํผ์ ์ด์ฉํด ๋ง๋ ์ปดํฌ๋ํธProp์ผ๋ก ๋ด๋ ค ์ค ์์ . remove๋ ์ด๋์ ํฌํจํด์ผํ ์ง ์๋ชจ๋ฅด๊ฒ ์ด์ ์งํํ๋ค๊ฐ ๋ผ์๋ฃ์๊ฑฐ ๊ฐ์๋ฐ ์๋ง addlist์ ๋ค์ด.. 2022. 2. 5. [React ์์ต์] Tic Tac Toe.. ํฌ๋๋ฆฌ์คํธ๋ฅผ ์์ ํ๊ธฐ์ ์์ ๋ฆฌ์กํธ๋ฅผ ๋๋ฌด ๋ชจ๋ฅด๋๊ฑฐ ๊ฐ์, ๊ณต์๋ฌธ์ ์์ต์์ ํฑํํ ๋ฅผ ๊ณต๋ถํ๊ณ ์๋ค. function Square(props) { return ( {props.value} ); } class Board extends React.Component { constructor(props){ super(props); this.state = { squares: Array(9).fill(null), xIsNext : true, }; } handleClick(i) { const squares = this.state.squares.slice(); if(calculateWinner(squares) || squares[i]){ return; } squares[i] = this.state.xIsNext ? '.. 2022. 2. 3. [TodoList]create react app ์ค์น ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ ์ ๋์์ฃผ๋ ํด ์ธ create react app ์ ์ด์ฉํ์ฌ ํฌ๋ ๋ฆฌ์คํธ๋ฅผ ์์ํ๋ ค๊ณ ํ๋ค ํฐ๋ฏธ๋์ `npx create-react-app todo` ๋ฅผ ๋ฃ์๋๋ฐ ๋ญ๊ฐ ์๋ฌ๊ฐ๋ธ. ์ฝ์ด๋ณด๋ ๋ฒ์ ์ ๋ฌธ์ ์ธ๊ฒ๊ฐ๊ณ ํด๊ฒฐํ๊ธฐ ์ํ ๋ช ๋ น์ด์ ์ฐธ๊ณ ํ ์ฌ์ดํธ ์ฃผ์๋ฅผ ์๋ ค์ฃผ์ด์ ๊ฒ์ํด๋ด. ๋ฆฌ์กํธ ๊ณต์๋ฌธ์์ ๊ฐ๋ณด๋ ์ด์ ์ create react app์ ์ ์ญ์ ์ผ๋ก ์ค์นํ์์ ๊ฒฝ์ฐ ์ญ์ ํ ์ฌ์ค์นํ์ฌ ํญ์ npx ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋๊ฒ์ ๊ถ์ฅํจ. ๊ทธ๋์... ์์๋ช ๋ น์ด๋ก ์ญ์ ํด๋ณด๋ คํ๋๋ฐ ๋ญ๊ฐ...๋ฌด์์์ npm ๋ฒ์ ํ์ธํ ์ ๋ฐ์ดํธ ํ๋๋ฒ์ ๊ฒ์ ํด์ -g๋ฅผ ๋ฃ์ (-g๋ global๋ก ์ ์ญ ์ค์น?? ๋ฅผ๋งํ๋๊ฒ ๊ฐ๋ค npm ๋ช ๋ น์ด ์ธ๋ฏ) cra๋ฅผ ๋ค์ ์ค์น ํด๋ดค์ง๋ง ์ด๋ฒ์ ์ ์์ฐ์ด๋ ๋ฒ์ ์ธ๊ฒ๊ฐ๋ค. ์ผ๋ฅธ .. 2022. 1. 30. ๋ฆฌ์กํธ๋ก Todo list๋ฅผ ๋ง๋ค์ด๋ณด์ ํฌ๋๋ฆฌ์คํธ๋ฅผ ์ฐ๊ณ ์ถ์๋ฐ ๋ง์์ ๋๋๊ฒ ์์ด์ ๋ง๋ค์ด๋ณด๊ธฐ๋กํจ ๊ณต๋ถ์ ๋์๋ ์์๋๋ก ๋ฆฌ์กํธ ๋ ์จapi ๋น๋๊ธฐ(์ด๋์ ๋ค์ด๊ฐ์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง..) ๋ถ์บ ์์ ๋ฐฐ์ฐ๋๊ฒ๋ค์ ๋๋๋ก ๋ง์ด ์ฌ์ฉํด๋ณผ์์ 2022. 1. 30. REACT - 21.12.26 - JSX, STATE, PROPS ํ์ต๋ชฉํ REACT & JSX React์ 3๊ฐ์ง ํน์ง์ ๋ํด์ ์ดํดํ๊ณ , ์ค๋ช ํ ์ ์๋ค. JSX๊ฐ ์ ๋ช ์์ ์ธ์ง ์ดํดํ๊ณ , ๋ฐ๋ฅด๊ฒ ์์ฑํ ์ ์๋ค. React ์ปดํฌ๋ํธ(React Component)์ ํ์์ฑ์ ๋ํด์ ์ดํดํ๊ณ , ์ค๋ช ํ ์ ์๋ค. create-react-app ์ผ๋ก ๊ฐ๋จํ ๊ฐ๋ฐ์ฉ React ์ฑ์ ์คํํ ์ ์๋ค. SPA(Single-Page Application) ๊ฐ๋ ์ ์ดํดํ๊ณ ์ค๋ช ํ ์ ์๋ค. SPA์ ์ฅ, ๋จ์ ์ ๋ํด ์ดํดํ๊ณ ์ค๋ช ํ ์ ์๋ค. ์์ด์ดํ๋ ์์ ๋ณด๊ณ ์ด๋ ๋ถ๋ถ์ ์ปดํฌ๋ํธ๋ก ๊ตฌ๋ถํด์ผ ํ ์ง ์ค์ค๋ก ์ ํ ์ ์๋ค. React์์ npm์ผ๋ก React Router DOM์ ์ค์น(npm install react-router-dom@5.3.0)ํ๊ณ ์ด์ฉํ ์ ์๋ค. React.. 2021. 12. 26. 4W_JS_React Route ์๊ฐ์ด ์ง์ง ์์ด๋ ๊ฒ ๋นจ๋ฆฌ๊ฐ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๋ฉ์๋ ๊ณต๋ถํ๋ค ๊ฐ์๊ธฐ ๋ฆฌ์กํธ๋ก ๋์์จ ๋ธ๋ก๊ทธ.. ๊ทธ์ฌ์ด์ ๊ต์ฅํ ๋ง์ ํ์ต์ด ์ด๋ฃจ์ด์ก์ง๋ง, ์ด์ ์ค๋ ๋ฆฌ์กํธ ์์ ๋ฃ๊ณ ๊นจ๋ฌ์๋ค. "..์! ์ฌ๊ธฐ๊น์ง ์จ๊ฒ์ ๋ค ๋ฆฌ์กํธ ๋ฐฐ์ฐ๋ ค๊ณ ์จ๊ฑฐ๊ตฌ๋!! " ๊ทธ๋์ ๋ง์์ด ํธํด์ก๋ค. ๋ค๋ก ๊ตฌ๋ฅด๋ ์์ผ๋ก ๊ตฌ๋ฅด๋ ์ด์จ๋ ํ๋ก ํธ์๋์ ๊ฝ, ๋ฆฌ์กํธ๋ง ์ํด๋ ๋ฐ์๊ฐ๊ฒ ๊ตฌ๋..! (๋ฌผ๋ก ๋ฆฌ์กํธ ์ํ๋ ค๋ฉด ์์ ๋ฐฐ์ด๊ฑฐ ๋ค์ํด์ผํจ) ์ฌํํผ ์ด์ ์ ๊ธฐ๋ณธ๋ฌธ๋ฒ์ ์ด์ด ์ค๋์ ๋ผ์ฐํฐ๋ฅผ ๊ณต๋ถํ๊ณ , ๋ฆฌ์กํธ ๋ผ์ฐํฐ์ ์ฃผ์ ์ปดํฌ๋ํธ๋ฅผ ๋ฐฐ์ด๊ฒ ์์ฃผ๋ก ์ ๋ฆฌํด๋ณด๋ คํ๋ค. ๋จผ์ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ผ์ฐํฐ ๋ชจ๋์ด ๋ค์ด์๋ ๋ฆฌ์กํธ ๋ผ์ฐํฐ ๋์ ์ค์นํ์ฌ์ผํ๋ค. npm install react-router-dom@5.3.0 ์ฐ๋ฆฌ๋ ๋ฒ์ 5.3.0์ ์ฌ์ฉํ๋๋ฐ ์ต์ ๋ฒ์ ๋ฐ.. 2021. 12. 3. ์ด์ 1 ๋ค์