Hook์ ๋ค์ 2๊ฐ์ง ๊ท์น์ ๋ฐ๋ฅธ๋ค. 1. ์ต์์(at the top level)์์๋ง Hook ํธ์ถ ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค์ฒฉ๋ ํจ์ ๋ด์์ ์คํX ์กฐ๊ฑด๋ถ๋ก effect๋ฅผ ์คํํ๊ธธ ์ํ๋ค๋ฉด ์๋์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ์ hook ๋ด๋ถ์ ๋ฃ์ ์ ์๋ค. useEffect(function persistForm() { // ๐ ๋ ์ด์ ์ฒซ ๋ฒ์งธ ๊ท์น์ ์ด๊ธฐ์ง ์์ต๋๋ค if (name !== '') { localStorage.setItem('formData', name); } }); ์ ๊ณต๋ lint ๊ท์น์ ํ์ฉํ๋ฉด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋จ! -> eslint-plugin-react-hooks 2. React ํจ์ ์ปดํฌ๋ํธ ๋ด์์๋ง Hook ํธ์ถ ์ผ๋ฐ JS์์ Hook ํธ์ถ X ์ง์ ์์ฑํ custom Hook ๋ด์์๋ ํ ํธ์ถ..
side effect ( = effect) ๊ธฐ๋ฅ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ๊ตฌ๋ ์ค์ ํ๊ธฐ ์๋์ผ๋ก ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์ DOM ์์ ํ๊ธฐ ์ข ๋ฅ ์ ๋ฆฌ(clean-up)๊ฐ ํ์ํ ๊ฒ ๊ทธ๋ ์ง ์์ ๊ฒ ์ ๋ฆฌ(Clean-up)๋ฅผ ์ด์ฉํ์ง ์๋ Effects ๋ฆฌ์กํธ๊ฐ DOM์ ์ ๋ฐ์ดํธํ ๋ค ์ถ๊ฐ๋ก ์ฝ๋๋ฅผ ์คํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ ๋ฆฌํ์คํธ DOM ์๋ ์กฐ์ ๋ก๊น -> ์คํ ์ดํ ์ ๊ฒฝ ์ธ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์! useEffect useEffect๊ฐ ํ๋ ์ผ? -> useEffect Hook์ ์ด์ฉํ์ฌ ์ฐ๋ฆฌ๋ ๋ฆฌ์กํธ์๊ฒ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ์ดํ์ ์ด๋ค ์ผ์ ์ํํด์ผํ๋ ์ง๋ฅผ ๋งํจ ๋ฆฌ์กํธ๋ ์ฐ๋ฆฌ๊ฐ ๋๊ธด ํจ์(effect)๋ฅผ ๊ธฐ์ตํ๋ค๊ฐ DOM ์ ๋ฐ์ดํธ๋ฅผ ์ํํ ์ดํ์ ๋ถ๋ฌ๋ผ ๊ฒ ๋ฌธ์ ํ์ดํ ์ง์ , ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ, ๋ช ๋ นํ API ๋ถ๋ฌ๋ด๊ธฐ ๋ฑ..
Hook๊ณผ ํจ์ ์ปดํฌ๋ํธ ํจ์ ์ปดํฌ๋ํธ - ๋ ๋ค ๊ฐ๋ฅ const Example = (props) => { // ์ฌ๊ธฐ์ Hook์ ์ฌ์ฉํ ์ ์์ต๋๋ค! return ; } function Example(props) { // ์ฌ๊ธฐ์ Hook์ ์ฌ์ฉํ ์ ์์ต๋๋ค! return ; } state๊ฐ ์๋ ์ปดํฌ๋ํธ hook์ state๋ฅผ ํจ์ ์์์ ์ฌ์ฉ๊ฐ๋ฅํ๊ฒ ํด์ค hook์ ํด๋์ค ์์์ ๋์ X ํ์ง๋ง ํด๋์ค๋ฅผ ์์ฑํ์ง ์๊ณ ์ฌ์ฉ ๊ฐ๋ฅ Hook์ด๋? ํน๋ณํ ํจ์. ์๋ฅผ ๋ค์ด useState๋ state๋ฅผ ํจ์ ์ปดํฌ๋ํธ ์์์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค ์ธ์ Hook ์ฌ์ฉ? ํจ์ ์ปดํฌ๋ํธ ์์ state๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ ๋ state ๋ณ์ ์ ์ธ ํจ์ ์ปดํฌ๋ํธ๋ this๋ฅผ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ this.state๋ฅผ..
๐ State Hook ๋ค์์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๊ฐ์ด 1์ฉ ์ฆ๊ฐํ๋ ๊ฐ๋จํ ์นด์ดํฐ ์์ ์ฝ๋์ด๋ค. import React, {useState} from 'react'; function MyComponent() { // "count"๋ผ๋ ์ ์ํ ๋ณ์ ์ ์ธ const[count, setCount] = useState(0); return ( You click {count} times setCount(count + 1)}> Click me ); } export default MyComponent; ์ฌ๊ธฐ์ ์ฌ์ฉํ useState๊ฐ ํ (Hook)์ด๋ค. hook์ ํธ์ถํด ํจ์ ์ปดํฌ๋ํธ ์์ state ์ถ๊ฐ ์ด state๋ ์ปดํฌ๋ํธ๊ฐ ๋ค์ ๋ ๋๋ง ๋์ด๋ ๊ทธ๋๋ก ์ ์ง useState ํน์ง ํ์ฌ์ state๊ฐ๊ณผ ์ด ๊ฐ์ ..
์ด์ ๋ด์ฉ ๋ณต์ต [WEB] - [React] ๊ณต์ ๋ฌธ์ 3. ์๋ฆฌ๋จผํธ ๋ ๋๋ง [React] ๊ณต์ ๋ฌธ์ 3. ์๋ฆฌ๋จผํธ ๋ ๋๋ง 3. ์๋ฆฌ๋จผํธ ๋ ๋๋ง ์๋ฆฌ๋จผํธ React ์ฑ์ ๊ฐ์ฅ ์์ ๋จ์ ์ผ๋ฐ ๊ฐ์ฒด React DOM์ React ์๋ฆฌ๋จผํธ์ ์ผ์นํ๋๋ก DOM์ ์ ๋ฐ์ดํธ ๋ถ๋ณ ๊ฐ์ฒด, ์๋ฆฌ๋จผํธ ์์ฑ ์ดํ ํด๋น ์๋ฆฌ๋จผํธ์ ์์์ด๋ ์์ฑ ๋ณ๊ฒฝ ๋ถ๊ฐ nakyungim.tistory.com UI๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ ์๋ก์ด ์๋ฆฌ๋จผํธ๋ฅผ ์์ฑ ํ ์ด๋ฅผ ReactDOM.render()๋ก ์ ๋ฌ ๋ ๋๋ง ๋ ์ถ๋ ฅ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ReactDOM.render() ํธ์ถ 5. State์ ์๋ช ์ฃผ๊ธฐ ๋ชฉํ : 1. Clock ์ปดํฌ๋ํธ๋ฅผ ์์ ํ ์ฌ์ฌ์ฉํ๊ณ ์บก์ํ ํ๊ธฐ 2. ์ปดํฌ๋ํธ๊ฐ ์ค์ค๋ก ํ์ด๋จธ ์ค์ and ๋งค์ด ์ค์ค๋ก ์ ๋ฐ์ด..
- Total
- Today
- Yesterday
- ML
- ์ํ์ฝ๋ฉ ๋ฆฌ์กํธ
- Cloud
- machine learning
- React
- GCP
- ํด๋ผ์ฐ๋
- ๋ฆฌ์กํธ ๊ธฐ์ด
- ํ ์ํ๋ก์ฐ
- ๋์ปค
- ๋ฆฌ์กํธ state
- ๋ฆฌ์กํธ ์ปดํฌ๋ํธ
- Docker&Kubernetes:์ค์ ๊ฐ์ด๋-2022๋ ํ
- ๋ฆฌ์กํธ
- ๋ฆฌ์กํธ useEffect
- ์ปดํฌ๋ํธ
- ๋ฆฌ์กํธ ํ
- docker
- ๊ตฌ๊ธํด๋ผ์ฐ๋ํ๋ซํผ
- React Hook
- ๋ฆฌ์กํธ ๋ ๋๋ง
- React DOM
- ๊ตฌ๊ธ
- ๋ฆฌ์กํธ setState
- ๋จธ์ ๋ฌ๋
- ๋ฆฌ๋์ค
- ๋ฆฌ์กํธ ๊ณต์๋ฌธ์
- ๋จ๊ธฐ์ง์ค๊ณผ์
- ๋ฆฌ๋์ค store
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |