PROGRAMMING/React
-
React :: Hook, useState, useEffect, ์ฌ์ฉ์ ์ ์ HookPROGRAMMING/React 2021. 3. 31. 13:09
Hook Hook์ ํจ์ ์ปดํฌ๋ํธ์์ React state์ ์๋ช ์ฃผ๊ธฐ ๊ธฐ๋ฅ(lifecycle features)์ “์ฐ๋(hook into)“ํ ์ ์๊ฒ ํด์ฃผ๋ ํจ์๋ฅผ ๋งํ๋ค. useState, useEffect ์ ๊ฐ์ ๋ด์ฅ Hook ์ ์ฌ์ฉํ๊ฑฐ๋, ์ง์ ์ ์ํด์ ์ฌ์ฉํ ์๋ ์๋ค. Hook ์ฌ์ฉ ๊ท์น Hook์ ๊ทธ๋ฅ JavaScript ํจ์์ด์ง๋ง, ๋ ๊ฐ์ง ๊ท์น์ ์ค์ํด์ผ ํ๋ค. **์ต์์(at the top level)**์์๋ง Hook์ ํธ์ถ! ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค์ฒฉ๋ ํจ์ ๋ด์์ Hook์ ์คํํ๋ฉด ์๋จ React ํจ์ ์ปดํฌ๋ํธ ๋ด์์๋ง Hook์ ํธ์ถ! (๋น์ฐํ, Class ์์์๋ Hook ์ ๋์ํ์ง ์์) ์ผ๋ฐ JavaScript ํจ์์์๋ Hook์ ํธ์ถํ๋ฉด ์๋จ ๊ทธ๋ผ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ํ์ ์ธ..
-
React :: ์๋ช ์ฃผ๊ธฐ (Lifecycle)PROGRAMMING/React 2021. 3. 21. 18:33
์๋ช ์ฃผ๊ธฐ ๋ฉ์๋ ํด๋์ค Component ์์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ์ ์ธํ์ฌ ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ๋๊ฑฐ๋ ์ธ๋ง์ดํธ ๋ ๋์ ์คํํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ฆ Component ๊ฐ ๋ณด์ฌ์ง๊ณ , ์ฌ๋ผ์ง๊ณ , ์ ๋ฐ์ดํธ ๋ ๋ ํธ์ถ๋๋ API ์ด๋ค. ๋งค์ฐ ์ค์ํ๊ณ , ์ฌ์ฉํ๋ฉด ํจ์จ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์์ผ๋ ์ ๋ด๋์. componentDidMount() ์ปดํฌ๋ํธ ์ถ๋ ฅ๋ฌผ์ด ์ฒ์ DOM ์ ๋ ๋๋ง ๋ ํ์ ์คํ๋๋ ํจ์. ์ฃผ๋ก ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฐ๋, Component ์์ ํ์ํ ๋ฐ์ดํฐ ์์ฒญ ๋ฑ์ ์ฌ๊ธฐ์ ์์ฑํ๋ค. componentDidMount() { //DOM ์ ์ฒ์ Component ๊ฐ ๋ ๋๋ง ๋ ๋ ์คํ๋จ } componentWillUnmount() ๋ง์ดํธ๋ ์ปดํฌ๋ํธ๊ฐ DOM ์ผ๋ก๋ถํฐ ํ ๋ฒ์ด๋ผ๋ ์ญ์ ๋ ์ ..
-
React :: Component, Props, StatePROGRAMMING/React 2021. 3. 20. 19:32
Component ๊ฐ๋ ์ ์ผ๋กJavaScript ํจ์์ ์ ์ฌํ Component ๋, Props ๋ผ๋ ์ ๋ ฅ์ ๋ฐ๊ณ , ๋ก์ปฌ State ๋ฅผ ๊ฐ์ง๊ณ , React Element ๋ฅผ ๋ฐํํ๋ค. ๋ฐ๋ผ์ ์ปดํฌ๋ํธ๋ฅผ ํตํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ๋ณ '์กฐ๊ฐ'์ ๋ง๋ค ์ ์๋ค. ๊ฐ์ฅ ๊ฐ๋จํ, ์ด๋ฆ์ Props ๋ก ๋ฐ์์ "Hello, {user}" ๋ฅผ ๋ณด์ฌ์ฃผ๋ Element ๋ฅผ ๋ฐํํ๋ Component ๊ฐ ์๋ค๊ณ ํ์. ๊ทธ๋ฌ๋ฉด ๊ทธ Component ๋ฅผ ๋ค๋ฅธ Compnent ์์ import ํด์ ํ ์กฐ๊ฐ์ ๊ฐ๋ค ๋ถ์ด๋ฏ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค. * Props ์ ๊ฐ๋ ์ ๋ฐ์์ ๋ค๋ฃจ๊ณ , ์ผ๋จ Component ๊ฐ ์ธ๋ถ์์ ๋ฐ์์ค๋ ๋ฐ์ดํฐ ๋ผ๊ณ ๋ง ์๊ณ ์์. ์ฃผ์ํ ์ฌํญ์, Component ์ด๋ฆ์ ํญ์! ๋๋ฌธ์๋ก ์์ํ๋ค. Reac..
-
React :: Element Rendering (์๋ฆฌ๋จผ๋ ๋ ๋๋ง)PROGRAMMING/React 2021. 3. 20. 13:27
Element ? Element ๋ React ์ ๊ฐ์ฅ ์์ ๋จ์๋ก, ํ๋ฉด์ ํ์ํ ๋ด์ฉ์ ๊ธฐ์ ํ๋ค. ๋ธ๋ผ์ฐ์ DOM Element ์ ๋ฌ๋ฆฌ, React Element ๋ ์ผ๋ฐ ๊ฐ์ฒด์ด๋ค. React DOM ์ React Element ์ ์ผ์นํ๋๋ก DOM ์ ์ ๋ฐ์ดํธํ๋ค. Component ์ "๊ตฌ์ฑ ์์"์ด๋ค. Element ์ Component ๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค. Component ๋ ๋ค์์ ์์ธํ! ๋ถ๋ณ๊ฐ์ฒด์ด๋ค. (์ฆ, ์์ฑ ์ดํ์ ์์/์์ฑ ๋ณ๊ฒฝ ๋ถ๊ฐ) Element ์์ฑํ๊ธฐ JSX ๋ฅผ ์ดํด๋ณผ ๋, ์ด๋ ๊ฒ ์์ฑํ ๊ฒ์ด ๋ฐ๋ก element ๋ฅผ ์์ฑํ ๊ฒ์ด๋ค. const element = Hello, world; DOM ์ Element ๋ ๋๋งํ๊ธฐ ์ด์ ์์ฑํ Element ๋ฅผ ๋ ๋๋ง ํด๋ณด์. Roo..
-
React : JSXPROGRAMMING/React 2021. 3. 20. 02:19
JSX ๋? ๋ฆฌ์กํธ์์ ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ๋, JavaScript ๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ. JSX ๋ฅผ ๋ค๋ฃฐ ๋ ๊ธฐ์ตํด์ผ ํ ๊ฒ์, JSX ๋ ํํ์์ด๋ผ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ๋ณ์์ ํ ๋นํ๊ณ , ์ธ์๋ก ๋ฐ์๋ค์ด๊ณ , ํจ์๋ก ๋ฐํํ๊ณ , ํํ์์ ํฌํจํ ์ ์๋ค. ๋ณ์์ ํ ๋นํ๊ธฐ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ด๋ค. const element = Hello, world!; ๊ทธ ์์ฒด๋ก ํํ์์ด๊ธฐ ๋๋ฌธ์ ๋น์ฐํ ๋ณ์์ ํ ๋นํด์ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๊ฒ ์์ฑํ JSX ๋ React "Element" ๋ฅผ ์์ฑํ๋ค. ํํ์ ํฌํจํ๊ธฐ JSX ๋ JavaScript ํํ์์ ํฌํจํ ์ ์๋ค. const name = 'react'; const element = hello {name}!; const element2 = hello {userFun..
-
React :: React ์์ํ๊ธฐPROGRAMMING/React 2021. 3. 20. 00:27
React ๋ฅผ ์ฒ์ ์์ํ๋ ค๋ฉด, ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์๋๋ฐ ๊ณต์ ์น์ฌ์ดํธ์์๋ ์๊ฐํ๋ CRA (Create React App) ์ ์ฌ์ฉํด๋ณด์. React ๋ ๋ฌด์์ด๊ณ , ๋ญ ์๊ณ ์์ด์ผ ํ ๊น? React ๋ ํ์ด์ค๋ถ์์ ์ ๊ณตํ๋ JavaScript ๊ธฐ๋ฐ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค. ํ๋ ์์ํฌ๊ฐ ์๋๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ์, ๊ทธ๋งํผ ๊ฐ๋ณ๊ณ ์ ํ์ง๊ฐ ๋๋ค. JavaScript ๊ธฐ๋ฐ์ด๋ผ JavaScript ๋ฅผ ์๋ฉด ๋ฐฐ์ฐ๊ธฐ ์ฝ๋ค. ๋ฐ๋ฉด์ ๋ชจ๋ฅธ๋ค๋ฉด ์ข ์ ๋จน์ ์ ์๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ํ ๋์ฑ - ๊ณต์ js ํํ ๋ฆฌ์ผ ์๋ ํ๊ธฐ : developer.mozilla.org/ko/docs/Web/JavaScript/A_re-introduction_to_JavaScript (์๋ฒฝํ ๋์ฑ ์ด ๋๊ธฐ๋ ์ด๋ ต๋ค. ๋ค๋ง ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์๊ณ ์๋..