React (14) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ React / Redux ] Redux ์ํ ๊ด๋ฆฌ ๊ฐ๋ ์ ๋ฆฌ. ๊ธฐ์กด์ ๋ด๊ฐ React ํ๋ก์ ํธ์ ์ฆ๊ฒจ ์ฌ์ฉํ๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ recoil ์ด์๋ค. ํ์ง๋ง ์๋ก์ด ํ์ฌ์์๋ Mobx์ Redux๋ฅผ ์ฌ์ฉํ๊ณ ์์๋ค. ๊ทธ๋์ Redux ๊ณต๋ถ๋ฅผ ์ํด ๊ณต์ ํํ์ด์ง๋ฅผ ๋ณด๋ฉฐ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค. Redux ๊ธฐ๋ณธ ๊ฐ๋ Redux๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ์ ์ํ ์์ธก ๊ฐ๋ฅํ ์ํ ์ปจํ ์ด๋๋ผ๊ณ ํ๋ค. ์ผ๊ด์ ์ผ๋ก ๋์ํ๊ณ ์๋ก ๋ค๋ฅธ ํ๊ฒฝ (์๋ฒ, ํด๋ผ์ด์ธํธ, ๋ค์ดํฐ๋ธ)์์ ์๋ํ๊ณ , ํ ์คํธ ํ๊ธฐ ์ฌ์ด ์ฑ์ ๋ง๋ค๋๋ก ๋์์ฃผ๋ฉฐ Redux๋ React๋ฟ๋ง์๋๋ผ ๋ค๋ฅธ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋งค์ฐ ์์ ์ฉ๋(์์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฌํจ 2KB)์ผ๋ก ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ค. Redux๋ ์๋ฐ์คํฌ๋ฆฝํธ SPA์์ ๊ฐ์ถ์ด์ผ ํ ์๊ฑด๋ค์ด ์ ์ ๋ณต์กํด์ง์ ๋ฐ๋ผ ๋ง์.. [ NEXT.JS ] Next.js์ ๋ํด ์์๋ณด๊ธฐ. NEXT.JS๋ ๋ฌด์์ผ๊น? Next.js ๋ ๋น ๋ฅธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ๋น๋ฉ ๋ธ๋ก์ ์ ๊ณตํ๋ React ํ๋ ์ ์ํฌ๋ก, React์ ํ์ํ ๋๊ตฌ ๋ฐ ๊ตฌ์ฑ์ ์ฒ๋ฆฌํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ถ๊ฐ ๊ตฌ์กฐ, ๊ธฐ๋ฅ ๋ฐ ์ต์ ํ๋ฅผ ์ ๊ณตํ๋ค. Next.js๋ SSR(Server-Side-Rendering), ์ ์ ์น ํ์ด์ง ์์ฑ ๋ฑ React ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ฅํ๊ฒ ํ๋ Node.js ์์์ ๋น๋๋ ์คํ ์์ค ์น ํ๋ ์์ํฌ์ด๋ค. React๋ฅผ ์ฌ์ฉํ์ฌ UI๋ฅผ ๊ตฌ์ถํ ๋ค์, Next.js ๊ธฐ๋ฅ์ ์ ์ง์ ์ผ๋ก ์ฑํํ์ฌ ๋ผ์ฐํ , ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ, ํตํฉ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํ๋ ๋์์ ๊ฐ๋ฐ์ ๋ฐ ์ต์ข ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ์ ์๋ค. React์ ๊ณต์ ํ์ด์ง์์๋ ์๋์ ๊ฐ์ด ์๊ฐํ๋ค.. [ React / Recoil ] React์ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ Recoil์ effects ์ฌ์ฉํ๊ธฐ. ๋๋ ๋ณดํต react ํ๋ก์ ํธ๋ฅผ ํ๊ฒ ๋๋ฉด ๊ฐ๋จํ ์ํ ๊ด๋ฆฌ๋ค์ ๋๋ถ๋ถ recoil์ ํตํด ํ๋๋ฐ ์ด๋ฒ์ recoil์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ๋ค์ ๋ํด ๋ ์์น๋ฅผ ํ๋ค๊ฐ Atom Effects์ ๋ํด ์์๋ณด๊ฒ ๋์๋ค. Recoil ๊ณต์ ํ์ด์ง์ Atom Effects ์ค๋ช ์ ์๋ ๋งํฌ๋ฅผ ํตํด ์ฐธ๊ณ ํ๋ฉด ๋๋ค. atom effects - recoil recoil ๊ณต์ ํ์ด์ง์์ ์๊ฐํ๋ atom effects๋ ๋ถ์ํจ๊ณผ๋ค์ ๊ด๋ฆฌํ๊ณ Recoil์ atom์ ์ด๊ธฐํํ๊ฑฐ๋ ๋๊ธฐํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ API๋ผ๊ณ ์ค๋ช ํ๋ค. Atom Effects - ์ํ ์ง์์ฑ - ์ํ ๋๊ธฐํ - ํ์คํ ๋ฆฌ ๊ด๋ฆฌ - ๋ก๊น ๋ฑ์ ์ ์ฉํ๊ณ React Effects์๋ ์ ์ฌํ์ง๋ง Atom Effects๋ atom์ ์ ์ํ ๋ atom ์ ์์ ์ผ๋ถ๋ก.. [ React / Select ] Select์ defaultValue ๋ฅผ state๋ฅผ ์ด์ฉํ์ฌ ๋์ ๋ณ๊ฒฝ ์ํค๊ธฐ. โ๏ธ ์ด์ ๋ฐ์ React ํ๋ก์ ํธ๋ฅผ ์์ ์ค์ ๋ฐ์ดํฐ ๋ฆฌ์คํธ๋ฅผ state๋ก ๊ด๋ฆฌํด์ ํํฐ๋ง ์ต์ ์ ์ ํํ ๋๋ง๋ค ๋ฐ์ดํฐ ๋ฆฌ์คํธ๋ฅผ ๋์ ํํฐ๋ง ๊ตฌ์กฐ๋ก ์์ ์ค์ ์ผ๋ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ค์ ๋์ ํํฐ๋ง ๊ธฐ๋ฅ์ด ์ ์ ์ฉ๋๋๋ฐ, Select์ defaultValue๋ ์ด์ ๋ฐ์ดํฐ ๊ฐ์ ๊ฐ๊ณ ๋์ ํํฐ๋ง์ด ์ ์ฉ๋์ง ์๋ ์ด์๊ฐ ๋ฐ์ํ์๋ค. ์์ ์ฝ๋ import React, {useState, useEffect} from 'react'; // UI Library๋ Antdesign์ ์ฌ์ฉ. import { Select } from 'antd'; const { Option } = Select; const data = [ {name: "Lee", isStudent: false}, {name: "Kim", isStude.. [ React / antd ] react ant-design theme ๋ณ๊ฒฝ ( custom theme ) React์์ antd๋ฅผ ์ฌ์ฉ์ค์, custom theme๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๋ค. antd์ ๊ณต์ ํ์ด์ง(https://ant.design/docs/react/customize-theme)์์ customize์ ๋ํด ์น์ ํ๊ฒ ์ค๋ช ์ ์จ ์ฃผ์์ง๋ง, ๋ ์์ด๋ ๊ฒ ์ฝ๊ธฐ๊ฐ ์ด๋ ค์ด๊ฑด์ง..ใ ใ ใ ใ ... * LinkedIn ๊ธ์ ์ฐธ๊ณ ํ์ฌ ์์ฑ. 1. Create React App ์ ํตํด ๋ฆฌ์กํธ ํ๋ก์ ํธ ์์ฑ. npx create-react-app 2. antd ํจํค์ง ์ค์น // 1) npm install antd ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ํจํค์ง ์ค์น npm install antd // 2) npm install less -g ๋ช ๋ น์ ์ฌ์ฉํ์ฌ less ์ ์ญ ์ค์น. npm install -g less 3... [ React / Architecture ] React ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ด๋ป๊ฒ ์ง์ผํ ๊น? ** React ๊ณต์ ํ์ด์ง ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ณต๋ถ ๋ชฉ์ ์ผ๋ก ์ ๋ฆฌํ ํฌ์คํ ์ ๋๋ค. ** 1. ๊ธฐ๋ฅ ๋๋ ๋ผ์ฐํธ ๋จ์๋ก ๋ถ๋ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ๋ผ์ฐํธ(ํ๋ก์ ํธ์ ๊ฒฝ๋ก) ํด๋์ ํด๋น ๋ผ์ฐํธ์ ๊ด๋ จ๋ CSS, JS ๋ฑ์ ๊ฐ์ด ๋๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์๋น์ค์ ์ฃผ์ ๊ธฐ๋ฅ์ ์ถ๋ฆฌ๊ณ , ๊ทธ ๊ธฐ๋ฅ๋ค์ ์ผ๋ง๋ ์ธ๋ถํํ ์ง ๊ณ ๋ฏผ ํ ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ๋ ์๋ค. ๋ด๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์ด๋ฐ ๋ถ๋ฅ ๋ฐฉ๋ฒ์ธ๋ฐ, ์๋น์ค์์ ๊ฐ์ฅ ์ค์ํ ํต์ฌ ๊ธฐ๋ฅ or ์๋น์ค๋ฅผ ๊ตฌ๋ถํ์ฌ ๊ทธ ์์ ํ์ผ๋ค์ ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ์ด ๋์๊ฒ๋ ๊ฐ์ฅ ์ต์ํ ๋ฐฉ๋ฒ์ธ ๊ฒ ๊ฐ๋ค. common/ Avatar.js Avatar.css APIUtils.js APIUtils.test.js feed/ index.js Feed.js Feed.css FeedStory.js FeedSt.. ์ด์ 1 2 ๋ค์