๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ React - Lifecycle ์ดํด
ํ์ด์ง๊ฐ ๋ ๋๋ง๋๊ธฐ ์ ๋ถํฐ ์ฌ๋ผ์ง ๋๊น์ง ์ปดํฌ๋ํธ๋ ์๋ช ์ฃผ๊ธฐ๋ผ๋ ๊ฒ์ ๊ฐ๋๋ค. ๋ชจ๋ ์ปดํฌ๋ํธ๋ ๋ง์ดํธ, ์ ๋ฐ์ดํธ, ์ธ๋ง์ดํธ ์ธ ๊ฐ์ง ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋๋ฐ ๊ฐ ๋จ๊ณ๋ณ๋ก ๋ช๊ฐ์ ๋ฉ์๋๋ค์ด ์ ํด์ง ์์๋๋ก ํธ์ถ๋๋ค. ์ด๋ ๊ฒ ํธ์ถ๋๋ ๋ฉ์๋๋ค์ lifecycle ๋ฉ์๋๋ผ๊ณ ํ๋ค. ๋ง์ดํธ ๋จ๊ณ๋ DOM ์์ฑ ์ดํ ์น ๋ธ๋ผ์ฐ์ ์์ ๋ํ๋๋ ๋จ๊ณ์ด๊ณ , ์ ๋ฐ์ดํธ๋ ๋ง์ดํธ ์ดํ ์ปดํฌ๋ํธ์ props, state๋ฑ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒผ์ ๋๋ฅผ ๋งํ๋ค. ์ธ๋ง์ดํธ๋ ์ปดํฌ๋ํธ๊ฐ DOM์์ ์ ๊ฑฐ๋๋ ์๊ธฐ๋ก ๋ง ๊ทธ๋๋ก ์ปดํฌ๋ํธ ์๋ฉธ์๊ธฐ๋ผ๊ณ ํ ์ ์๋ค. ์ปดํฌ๋ํธ๋ฅผ ํ๋ ๋ง๋ค๊ณ ๊ฐ ๋ฉ์๋๋ค์ด ์คํ๋๋ ์๊ธฐ์ ๋ด์ฉ์ ์ฝ์์ฐฝ์ ํตํด ๋์ผ๋ก ํ์ธํด๋ณด๋๊น ์ข ๋ ์ดํด๊ฐ๋๋ค. ์ฒซ ๋ ๋๋ง์ ๋ง์น ํ ์คํ๋๋ componentDidMount ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์จ ํ ํ์ด์ง๊ฐ ๋ก๋ฉ๋ ์์๋๋ก setTimeoutํจ์๋ฅผ ์จ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํด๋ณด๊ธฐ๋ ํ๋ค. ์์ง ๋ชจ๋ ๋ฉ์๋๋ฅผ ํ์ฉํด๋ณด์ง ์์์ ์ ์๋ฟ์ง ์๋ ๊ฒ๋ค๋ ์๋๋ฐ, ๋ค๋ฅธ ๋ฉ์๋๋ค์ ์ด๋ป๊ฒ ์ฐ์ด๋์ง์ ๋ํด์๋ ์ข๋ ์์๋ด์ผ๊ฒ ๋ค.
โ๏ธ React - ์ํ ์ ๋ณด์ฑ ๋ง๋ค๊ธฐ
๋ฆฌ์กํธ์ ์ต์ํด์ง๊ธฐ ์ํด ์ํ์ฑ์ ๋ง๋ค์ด ๋ณด์๋ค. ํ์ฌ ์์๋ญํน ์ํ 20๊ฐ์ ์ ๋ชฉ, ํฌ์คํฐ, ์ค๊ฑฐ๋ฆฌ ๋ฑ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ฑ์ธ๋ฐ, ์ํ์ ๋ํ ์ ๋ณด๋ API๋ฅผ ํตํด ๋ฐ์์๋ค. ์ด๋ฒ์๋ fetch ๋์ axios๋ฅผ ํตํด ๋ฐ์์๋ดค๋ค. ๋ผ์ฐํ ์ react-router-dom ํจํค์ง๋ฅผ ์ด์ฉํ๋๋ฐ, ๊ทธ์ค์์๋ HashRouter, Route, Link ์ธ๊ฐ์ง๋ฅผ ์จ๋ดค๋ค. Link๋ aํ๊ทธ์ฒ๋ผ ์ฌ์ฉํ๋ ํ๊ทธ์ธ๋ฐ to ์์ฑ์ ๋งํฌ๋ฅผ ์ค์ ํ๋ฉด ๊ทธ๊ณณ์ผ๋ก ์ด๋์ํฌ ์ ์์๋ค. ๊ทธ๋๋ ์ญ์๋ ๋ฆฌ์กํธ์์ ๊ฐ์ฅ ์ค์ํ๊ฑด props์ state๋ฅผ ์ ์ดํดํ๊ณ ํ์ฉํ๋๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธaxios vs fetch
1. axios
- ๊ตฌํ ๋ธ๋ผ์ฐ์ ์ง์
- ์๋ต์๊ฐ ์ด๊ณผ๋ฅผ ์ค์ ๊ฐ๋ฅ
- JSON ์๋๋ณํ ๊ฐ๋ฅ
- node.js์์ ์ฌ์ฉ ๊ฐ๋ฅ
- request aborting (์์ฒญ์ทจ์)๊ฐ ๊ฐ๋ฅ
- ์๋ฌ๊ฐ catch๋์์ ๋, .then ๋์ console์ฐฝ์ ์๋ฌ ๋ก๊ทธ ๋ณด์ฌ์ค
2. fetch
- Javscript ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (import ํ์X)
- ์ ๋ฐ์ดํธ์ ๋ฐ๋ฅธ ์๋ฌ ๋ฐฉ์ง๊ฐ ๊ฐ๋ฅ
- ๋คํธ์ํฌ ์๋ฌ ๋ฐ์์ ๊ธฐ๋ค๋ ค์ผํจ (reponse timeout API ์ ๊ณตX)
- ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ์กด์ฌ
โ๏ธ React Lifecycle method
1. ๋ง์ดํธ (mount)
- constructor()
- getDerivedStateFromProps()
- render()
- componentDidMount()
2. ์ ๋ฐ์ดํธ (update)
- getDerivedStateFromProps()
- shouldComponentUpdate render()
- getSnapshotBeforeUpdate componentDidUpdate()
3. ์ธ๋ง์ดํธ (unmount)
- componentWillUnmount()
โ๏ธ ๊ตฌ์กฐ๋ถํดํ ๋น ์์ฉ
const {
prop: {
data: { items }
}
} = fulldata
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ lifecycle method ํ์ฉ
โ๏ธ react-router-dom
โ๏ธ Hooks
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210216_TIL (0) | 2021.02.17 |
---|---|
210215_TIL (0) | 2021.02.16 |
210210_TIL (0) | 2021.02.11 |
210209_TIL (0) | 2021.02.10 |
210208_TIL (0) | 2021.02.09 |
๋๊ธ