immutable
๋ถ๋ณ. ๊ตฌํ์ ๋จ์ํ๊ฒ ์ ์งํ๊ธฐ ์ํจ.
๋๋ฌด ๋์ ๋ณ๊ฒฝ๊ฐ๋ฅ์ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ ธ๋ ฅ์ด๋ค.
๊ฐ์ฒด๋ฅผ immutableํ๊ฒ ๋ค๋ฃจ๊ธฐ์ํ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์๋ค.
๋ํ์ : immutable.js
- ๋ฐฐ์ด, ๊ฐ์ฒด์ ๋์ฒด์ ๋ก ์ฌ์ฉ๊ฐ๋ฅ
- ๋ชจ๋ ์ฐ์ฐ์ ์๋ณธ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ณต์ ๋ ๊ฒ์ return
- react์ ๋จ์ง
router
์ฐ๋ฆฌ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๋์ url๋ก ๋ชจ๋ ํ์ด์ง๋ฅผ ๋ค๋ฃจ๊ณ ์์
ํ์ด์ง ์ ํ์ ํ ๋ ๋ง๋ค ๋คํธ์ํฌ ๋ก๋ฉ์ ํ์ง์์
url ๋ง์ผ๋ก ํ์ด์ง๋ฅผ ์ฐพ์์ฌ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
url์ ๋ฐ๋ผ์ ๋ค๋ฅธ UI๊ฐ ๋์ค๊ฒ ํ ์ ์๋๋ฐ ์ด๊ฒ์ ๋์์ค ๋๊ตฌ๊ฐ ์๋ค.
๋ํ์ : React Router
- url์ ๋ฐ๋ผ์ ์ ๋นํ ์ปดํฌ๋ํธ๋ฅผ ์คํ์ํฌ ์ ์๋ค.
- url๋ก ์ ๊ทผํ๋ ์ฌ์ฉ์์๊ฒ๋ url์ ํด๋น๋๋ UI๋ฅผ ์๋น์คํ ์ ์๋ permalink(ํผ๋จธ๋งํฌ) ๊ธฐ๋ฅ๋ ์ ๊ณตํ ์ ์๋ค.
- ์ ๊ธฐ๋ฅ์ ๋ฆฌ์กํธ์ ๊ธฐ๋ณธ๊ธฐ๋ฅ์ด ์๋๋ผ ์ค์นํด์ ์ฌ์ฉํ๋ ํ๋ฌ๊ทธ์ธ ๊ฐ์ ๊ธฐ๋ฅ์ด๋ค.
create-react-app์ npm run eject
create-react-app์ ํธ๋ฆฌํ์ง๋ง ๋ ์ ์ ์ด๋ค.
๋ ๋ณต์กํ ์์ ์ ํ๊ธฐ ์ํด์๋ npm run eject๋ฅผ ์คํํ๋ฉด create-react-app์ ๊ฐ์ถฐ์ง ์ฌ๋ฌ ์ค์ ์ ์์ ํ ์ ์๋ค.
ํ ๋ฒ eject์ ํ๋ฉด ๋์๊ฐ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค.
redux
๋ฆฌ์กํธ์ ์ปดํฌ๋ํธ๊ฐ ๋ง์์ง๋ฉด ๊ทธ๋ค ๊ฐ์ ๊ต๋ฅ๊ฐ ๊น๋ค๋ก์์ง๋ค.
๋ถ๋ชจ๊ฐ ์์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋๋ props๋ฅผ ๋ฐ๋ผ๊ฐ์ผํ๊ณ ์์์ด ๋ถ๋ชจ๋ฅผ ์ฐพ์๊ฐ ๋๋ event๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
๋ณต์กํ ๊ต๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ redux์ด๋ค,
์ค์์ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ํ๋ ๋ง๋ค๊ณ ๋ชจ๋ ์ปดํฌ๋ํธ๋ ๊ทธ ์ค์์ ์๋ ์ ์ฅ์์ ์ง์ ์ฐ๊ฒฐ๋๋ค. ์ ์ฅ์์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๊ทธ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์ปดํฌ๋ํธ๊ฐ ์ํฅ์ ๋ฐ์ ๋ณํํ๋ค.
react server side rendering
์๋ฒ ์ชฝ์์ ์นํ์ด์ง๋ฅผ ์์ฑํ ํ์ ํด๋ผ์ด์ธํธ๋ก ์์ฑ๋ HTML์ ์ ์กํ๋ ๊ฒ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ ์ ์๋ ๊ธฐ์ ์ด ์๋ค.
๋๋ถ์ ์ด๊ธฐ ๊ตฌ๋ ์๊ฐ์ ์ค์ด๊ณ , js ์ ํ๋ฆฌ์ผ์ด์ ํน์ ์ ๋ก๋ฉ์ด ํ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ฑ์ ์ ์งํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฒ์์์ง๊ณผ ๊ฐ์ ๋ก๋ด๋ค์ด HTML ํ๊ทธ๋ฅผ ์ง์ ์ฝ์ ์ ์์ด ์น ํ์ด์ง๋ฅผ ๋ถ์ํ ๋ ค๊ณ ํ๋ ์ฌ๋ฌ ๋ก๋ด๋ค์๊ฒ ์นํ์ ์ธ ๊ธฐ์ ์ด๋ผ๊ณ ํ ์ ์๋ค.
react native
react์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ค์ดํฐ๋ธ ์ฑ์ ๋ง๋ค ์ ์๋ค.
๋ค์ดํฐ๋ธ ์ฑ์ด๋ ios, ์๋๋ก์ด๋์ ๊ฐ์ ํ๋ซํผ์ ๋งํ๋ค.
ํ๋์ ์ฝ๋๋ก ๊ฑฐ์ ๋ชจ๋ ํ๋ซํผ์์ ๋์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋ค.
'WEB > Front-End๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React JS] Props (0) | 2021.12.04 |
---|---|
[React JS] JSX ์์๋ณด๊ธฐ (0) | 2021.12.02 |
[React] Delete ๊ตฌํ (0) | 2021.10.16 |
[React] Update ๊ธฐ๋ฅ ๊ตฌํ, ๋ฆฌํฉํ ๋ง (0) | 2021.10.12 |
[React] ์ฑ๋ฅ๊ฐ์ ์ ์ข ๋ ํธํ๊ฒํ๊ธฐ (create) (0) | 2021.10.11 |