react
13
React :: React 19 Beta ํด์
1
2024.04.30
React 19 Beta – ReactThe library for web and native user interfacesreact.dev ์ผ๋ถ ํด์ ๋ฐ์ท React 19์ ์๋ก์ด ๊ธฐ๋ฅAction๋ฆฌ์กํธ ์ฑ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ ๋ฐ์ดํฐ ๋ณํ๋ฅผ ์ํํ ๋ค์ ์๋ต์ผ๋ก ์ํ๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์ด๋ฆ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์์์ ์ ์ถํ๋ฉด API ์์ฒญ์ ํ ๋ค์ ์๋ต์ ์ฒ๋ฆฌํฉ๋๋ค. ๊ณผ๊ฑฐ์๋ ๋ณด๋ฅ ์ํ, ์ค๋ฅ, ๋๊ด์ ์
๋ฐ์ดํธ ๋ฐ ์์ฐจ์ ์์ฒญ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด usestate์์ ๋ณด๋ฅ ๋ฐ ์ค๋ฅ ์ํ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.// Before Actionsfunction UpdateName({}) { const [name, setName] = useState(""); con..
React :: ํ๊ฒฝ์ ๋ฐ๋ฅธ .env(ํ๊ฒฝ ๋ณ์) ์
ํ
ํ๊ธฐ
2023.11.20
React ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด, ๋ฐฐํฌ ํ๊ฒฝ?์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํ๊ฒฝ ๋ณ์๋ฅผ ์
ํ
ํด์ผํ๋ case๊ฐ ๋ฐ์ํ๋ค. ์๋ฅผ ๋ค๋ฉด, ๋ณดํต API ์ฃผ์๋ฅผ ํ๊ฒฝ ๋ณ์๋ก ๋ง์ด ์
ํ
ํด๋๊ณ ๋ ํ๋๋ฐ.. ์ด์ API ์ฃผ์์ ๊ฐ๋ฐ API ์ฃผ์๋ฅผ ๋ฐฐํฌ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์
ํ
ํด๋๊ณ ์ถ์ case๊ฐ ๋ฑ ์ด์ ํด๋นํ๋ค. React :: ํ๊ฒฝ๋ณ์(.env) ์
ํ
ํ๊ธฐ ํ ํฐ์ด๋ API ํค ๊ฐ์ ๊ฒ์ ํ๋์ฝ๋ฉ์ผ๋ก ์ง์ด ๋ฃ์ผ๋ฉด ๋ฐฐํฌ ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋ชจ๋ ๋๋ฌ๋๊ธฐ ๋๋ฌธ์ ์ต๋ํ ์จ๊ฒจ์ ์ฝ๋ฉ์ ์งํํด์ผ ํ๋ค. ์ด๋ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ "ํ๊ฒฝ๋ณ์" ์ด๋ค. bornatnoon.tistory.com ์ฐ์ ๊ธฐ์ด ์
ํ
๋ฐฉ๋ฒ์ ์ฒจ๋ถํด๋ณธ๋ค. (.env ํ์ผ์ ํ๋๋ง ์ฐ๋ ์ผ์ด์ค) ์ผ์ด์ค์ ๋ฐ๋ฅธ .env ์ค์ ๋ฐฉ๋ฒ โป ์ฐธ๊ณ . ๋ฆฌ์กํธ ํ๋ก์ ํธ ์..
React :: ๋ฆฌ์กํธ ์๋ฒ ์ปดํฌ๋ํธ. React Server Component.
2
2023.11.01
์ฐธ๊ณ ๊ธ ์๋ฌธ Making Sense of React Server Components This year, the React team unveiled something they've been quietly researching for years: an official way to run React components exclusively on the server. This is a significant paradigm shift, and it's caused a whole lot of confusion in the React communit www.joshwcomeau.com (์ด๋ฒ ๊ธ์ ๊ฒฝ์ฐ ํด๋น ๊ธ์ ๋ง๋ถํ ์ค๋ช
์ด ๋ถ์กฑํ๋ค๊ณ ๋๊ปด์ง๋ ๊ฒ๋ค์ ๋ค์ ์์นญํ์ฌ ์์ฑํ์ฌ.. ์ฐธ๊ณ ๊ธ์ด๋ผ๊ณ ํ๊ธฐ์๋ ๋จธ์ฑํ๋ค.)..
์ปค์คํ
ํ ๋ค๊ตญ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ 'i18next' (React-i18next)
2023.11.01
ํ์ฌ์ ๊ฒฝ์ฐ ์ฌ๋ฌ ํด์ธ ๋ฒ์ธ์ด ์กด์ฌํ๊ณ ์์ด, ๋ค๊ตญ์ด ์ง์์ด ํ์ํ๋ค. ์นํ์ด์ง์ ๊ฒฝ์ฐ chrome ๋ฑ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ๋ด ๋ฒ์ญ์ผ๋ก๋ ์ง์์ด ๊ฐ๋ฅํ์ง๋ง, ํ์ฌ์์๋ ์ฌ์ ์ ์ผ๋ก ๋ฒ์ญํ๊ธฐ ๋ณด๋ค๋, ๊ฐ ๋๋ผ์์ ์ดํดํ๊ธฐ ์ฌ์ด ๋จ์ด๋ก ๋ฒ์ญํ๋ ์ผ์ด์ค๊ฐ ํ์ํ๊ฒ ๋๋ค. โ ์ด๋ ์ฌ์ฉ๋๋ ๊ฒ์ด i18next. i18next๋? Javascript๋ก ์์ฑ๋ ๊ตญ์ ํ ํ๋ ์์ํฌ๋ก ์ฌ๋ฌ ๊ตญ๊ฐ์ ์ธ์ด๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ค๋ค. ๋ง์ด ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ react-i18next, next-i18next, next-translation ์ด๋ ๊ฒ 3๊ฐ์ง. ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฅ๋จ์ ๊ณผ ํน์ฑ์ด ์กด์ฌํ๋ฏ๋ก ์์๋ณด๊ณ ์ฑํํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. โ ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ react-i18next ๋ฅผ ์ฑํํ๊ฒ ๋์๋๋ฐ.. ์ ํํ๋ ์ฑํ ๋นํ๋ค. ๊ณ ๋ก..
์ฌ์ด ์ ์ญ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ "Recoil"
2
2023.11.01
ํ์ฌ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ๊ถํ ๊ด๋ฆฌ๋ฅผ recoil ๋ก ๋ค๋ฃจ๊ณ ์๋ค. โ Rocoil ์ด๋? ํ์ด์ค๋ถ์์ ๋ฐํํ React ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. usestate ๋ง์ ์ฌ์ฉํ์ฌ ์ํ ๊ด๋ฆฌ๋ฅผ ํ๊ฒ ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ณต์กํ๊ฒ ๋ ์, props drilling์ด ์ผ์ด๋๊ฒ ๋๋๋ฐ, Recoil์ ์ด๋ฌํ ํ์๋ฅผ ๋ฐฉ์งํ๊ฒ ํด์ค๋ค. โ Recoil์ ๊ฒฝ์ฐ. React ์์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๋์ ๋งํฌ์์ ๋ด์ฉ์ ํ์ธํ๋ฉด ๋๋ค. Recoil A state management library for React. recoiljs.org Recoil ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฃผ์ํ ๊ฐ๋
์ผ๋ก๋ Atom ๊ณผ selector๊ฐ ์๋ค. โ Recoil ์์ ํ๋์ ์ ์ญ ์ํ๋ฅผ Atom ์ด๋ผ๊ณ ํ๋๋ฐ, Atom ..
DOM ์กฐ์์ ํ ์ ์๊ฒ ํด์ฃผ๋ "useRef"
2
2023.11.01
์ปดํฌ๋ํธ์ ์์ฑ ๊ฐ์ ๋ถ๋ฌ์ฌ ์๋ ์๊ณ , value๋ style ๊ฐ ๊ฐ์ ๊ฒ๋ค์ ๋ฐ๊ฟ์ค ์๋ ์๋. DOM์ ์กฐ์ํ ์ ์๊ฒ ํด์ฃผ๋ ref. ๋ ๋๋ง์ ํ์ํ์ง ์์ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋ ref. ์ ๋ํ์ฌ ์ค๋ช
ํ๋๋ก ํ๊ฒ ๋ค. โ ref ๋ ๋น๊ต์ ๊ฐ๋จํ ๊ฐ๋
์ด๋ฏ๋ก forwardRef ์ useImperativeHandle ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํ ๋์ฝ ๋จ๊ณ์ฒ๋ผ ๊ฐ๋ณ๊ฒ ์ง๊ณ ๋์ด๊ฐ๋๋ก ํ๊ฒ ์. โ ๋ง๋ถํ๋ ๋ง.. ๋ชจ ๋ถ์ฅ์ "Ref ๋ React ์๋ช
์ฃผ๊ธฐ์ ์ด์ธ๋ฆฌ์ง ์๋ ๋ฌธ๋ฒ์ผ๋ก React ์์์๋ ์ง์ํด์ผ ํ๋ค"๋ ๋ฐ์ธ์ ๋ํ์ฌ ์ค๋ช
ํ๋๋ก ํ๊ฒ ๋ค. Ref ๋ฅผ ๋ฌด๋ถ๋ณํ๊ฒ ์ ์ธํ๊ณ , ๋ค๋ฅธ ๋ฌธ๋ฒ์ผ๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๋ฌด์ง์ฑ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฌธ์ . (์ด๊ฒ์ ๋ค๋ฅธ ๋ฌธ๋ฒ๋ ๋์ผํ๋ค. ๊ฐ์๊ฐ ๊ฐ์ง๋ ๊ณ ์ ์ ํน์ฑ์..
์ด๊ธฐ ๋ ๋๋ง ๋ฐ ๋ณ์ ๋ณํ์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ์ ๋ถ๋ฌ์ค๊ธฐ ์ํ "useEffect"
2023.11.01
UseEffect ๋. ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง ๋ ๋๋ง๋ค ํน์ ์์
์ ์ํํ๋๋ก ์ค์ ํ ์ ์๋ Hook์. โ ๊ธฐ์กด์๋ ํด๋์คํ ์ปดํฌ๋ํธ์์๋ง ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์๋๋ฐ. useEffect๋ฅผ ์ฐ๋ฉด ํจ์ ์ปดํฌ๋ํธ์์๋ side effect ๋ฅผ ์ธ ์ ์๊ฒ ๋์๋ค. ๋ผ์ดํ์ฌ์ดํด hook(componentDidMount, componentDidUpdate, componentWillUnMount)์ ๋์ฒดํ ์ ์๋ useEffect. ์ฌ์ฉ ๋ฐฉ๋ฒ import { useEffect } from 'react'; function useeffecttest() { // ์ฌ์ฉ๋ฒ 1. ์ข
์์ฑ ๋งค๊ฐ๋ณ์ ์์. useEffect(() => { DoSomething(); }); // ์ฌ์ฉ๋ฒ 2. ๋น ์ข
์์ฑ ๋งค๊ฐ๋ณ์ ..
๋์ ์ธ ๊ฐ์ ํ ๋นํ๊ธฐ ์ํ ๋ณ์, useState
2
2023.11.01
๋ฆฌ์กํธ 16.8 ๋ฒ์ ์ด์ ์์๋ ํจ์ํ ์ปดํฌ๋ํธ์์ ์ํ ๊ด๋ฆฌ๋ฅผ ํ ์๊ฐ ์์์. (์ปจ๋ฒํ
ํ๋ ์ฌ๋๋ ๋ณด์๋ค..) ํ์ง๋ง 16.8 ๋ฒ์ ๋ถํฐ Hooks ๋ผ๋ ๊ธฐ๋ฅ์ด ๋์
๋๋ฉฐ ํจ์ํ ์ปดํฌ๋ํธ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์๋ค.! โ โป Hook : ํจ์ ์ปดํฌ๋ํธ์์ React state (๋ฆฌ์กํธ์์ ์์ฃผ ์ค์ํ ๊ฐ๋
์ค ํ๋) ์ ์๋ช
์ฃผ๊ธฐ ๊ธฐ๋ฅ(lifecycle features)์ ์ฐ๋ํ ์ ์๊ฒ ํด์ฃผ๋ ํจ์. โป ์ํ๊ด๋ฆฌ(State Management) : ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ. ์ฌ๋ฌ component ๊ฐ์ ๋ฐ์ดํฐ ์ ๋ฌ๊ณผ ์ด๋ฒคํธ ํต์ ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ ์๋ฏธ. โ ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด usestate ๋ฅผ ์ ์ ํ ์์น์์ ์ ์ธํ๊ณ , ์ ๋ด๋ ค์ฃผ๊ณ (์์) ๊ผฌ์ด์ง ์๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ๊ณ ์ค๊ธ ์คํฌ..
่.๋ฆฌ์กํธ ๊ฐ์ฌ๊ฐ ๋ง์์ฃผ๋ ๊ฐ๋จ react ๋ฌธ๋ฒ
2023.11.01
๋ชฉ์ฐจ ๋์ ์ธ ๊ฐ์ ํ ๋นํ๊ธฐ ์ํ ๋ณ์, "useState" ์ด๊ธฐ ๋ ๋๋ง ๋ฐ ๋ณ์ ๋ณํ์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ call์ ์ํ "useEffect" ์ปดํฌ๋ํธ์ ์์ฑ ๊ฐ์ get/set ํ ์ ์๋ "useRef" useRef + ์์ ๊ฐ๋
, "ForwardRef()", "useImperativeHandle()" ํจ์ ์ฌ์ฌ์ฉ์ ์ํ "UseCallback" ์ฌ์ด ์ ์ญ ์ํ๊ด๋ฆฌ๋ฅผ ์ํ "Recoil" ์ปค์คํ
ํ ๋ค๊ตญ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ "i18next" ๋ฒ์ธ. Axios์ Fetch์ ์ฐจ์ด ๋ฒ์ธ. Lazy Import ๋?
1. ๋ฆฌ์กํธ์ ํน์ง๊ณผ ์ฅ๋จ์
2023.07.24
React ๋? Facebook ์์ ์ฃผ๋ํ์ฌ ๊ฐ๋ฐํ์ฌ UI๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ JS ๊ธฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. React ์์ฒด๋ก๋ Framework ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ ๊ธฐ์ค์ธ Routing, ์ํ๊ด๋ฆฌ ๊ธฐ๋ณธ ์ ๊ณต์ ์ถฉ์กฑํ์ง ๋ชปํด์ '๋ผ์ด๋ธ๋ฌ๋ฆฌ'์ด์ง๋ง, React ์ํ๊ณ๋ก์๋ Framework. React ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ๊ธฐ์กด: ํน์ DOM ์ ์ ํํ ๋ค, ํด๋น DOM์ ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ํ change ๊ฐ ์ผ์ด๋๋๋ก ์ค์ ํ๋ ๋ฐฉ์. - ์ ์ ์์ ์ํธ์์ฉ์ด ์์ฃผ ์ผ์ด๋๋ ๊ฒฝ์ฐ ์ด์ ๋ฐ๋ฅธ ๋ณํ๋ฅผ ๋์ ์ผ๋ก UI์ ํํํด์ผ ํ๋ค๋ฉด ๊ทธ๋งํผ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ณต์กํด์ง๊ณ ๊ด๋ฆฌ๊ฐ ํ๋ค์ด์ง. React ํน์ง 1. ๊ฐ์ DOM ๊ธฐ์กด์ ๊ฒฝ์ฐ ํ๋์ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋์ด๋ ํ๋ฉด ์ ์ฒด๊ฐ ๋ฆฌ๋ ๋๋ง ๋์ด์ ์ ์ฒด ํ๋ฉด์ด ๋ค์ ..
react create-react-app ์ฌ์ฉํด์ ์ด๊ธฐ์
ํ
ํ๊ธฐ
2023.05.26
์ ์ ์กฐ๊ฑด react ๊ฐ ์ ์ค์น๋์์ผ๋ฉฐ chocolatey ๊ฐ์ ๋ถ๊ฐ ํ๋ก๊ทธ๋จ๋ค์ ๋ชจ๋ ๋ค ์ค์นํด๋์๋ค๋ ์ ์ ํ์ ์์. React ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ ๋์ถฉ ์ผ๋ ๋ฒ๋ ๊น์์ ๋ฆฌ์กํธ ๊ตฌ์ถํด์ค๋ ๋.. ๋ฆฌ์กํธ ํ๊ฒฝ์ ์ฒ์๋ถํฐ ๊ตฌ์ถํ ๊ธฐํ๊ฐ ์๊ฒผ๋ค. ์ด๊ฑฐ ํฌ์คํ
์ ๋์น ์ ์๋ค๋ ์๊ฐ์ด ๋ค์ด ์ค๋์ ๊ธ ๊ฑด๋์ง๋ฅผ ํ๋ ์ก๊ฒ ๋์๋ค. 1. node.js ์ค์น no bornatnoon.tistory.com ๊ธฐ๋ณธ ์
ํ
์ ๋ํด ๊ถ๊ธํ๋ค๋ฉด, ์ฒจ๋ถ ๊ธ์ ํ์ธํด๋ณด๋๋ก ํ์. 0. ์์ ๋ด๊ฐ react ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ ํด๋๋ฅผ ํ๋ ๊ตฌํํด์ฃผ๊ณ , ๋๋ ๋์ ํด๋๋ฅผ D:\Code ๋ก ์ ์ ํ ๊ฒ์ด๋ค. Code ํด๋ ์ฐํด๋ฆญ > ํฐ๋ฏธ๋์์ ์ด๊ธฐ(T) ์ ํ ์ฌ๊ธฐ์๋ถํฐ ์์. 1. create-react-app ์ค์น ๋ฆฌ์กํธ ๊ธฐ๋ณธํ ๋ง๋ค๊ธฐ์..
[๊ฐ๋ฐ๋๊ตฌ] Redux dev tools
2022.09.28
๋ฆฌ์กํธ๋ก ์น์ฑ์ ๊ฐ๋ฐํ๊ธฐ ์์ํ๊ฒ ๋๋ฉด, Redux dev tool์ ์ค์นํ๊ฒ ๋๋ค. ๊ฒ์๊ธ์ ๋ค์ด๊ฐ๊ธฐ ์์ Redux์ ๋ํ ๊ฐ๋
๋ถํฐ ์ง๊ณ ๊ฐ๋๋ก ํ๊ฒ ๋ค. โจ Redux(๋ฆฌ๋์ค๋)? JavaScript(์๋ฐ์คํฌ๋ฆฝํธ) ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ, ๋ณธ์ง์ Node.js ๋ชจ๋์ด๋ค. โจ Redux์ 3๊ฐ์ง ์์น 1. Single Source of Truth - ๋์ผํ ๋ฐ์ดํฐ๋ ํญ์ ๊ฐ์ ๊ณณ์์ ๊ฐ์ง๊ณ ์จ๋ค. ์ฆ, ์คํ ์ด๋ผ๋ ํ๋๋ฟ์ธ ๋ฐ์ดํฐ ๊ณต๊ฐ์ด ์๋ค๋ ์๋ฏธ. 2. State is read-only - ๋ฆฌ์กํธ์์๋ setState ๋ฉ์๋๋ฅผ ํ์ฉํด์ผ๋ง ์ํ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ. - ๊ฐ์ ๋งฅ๋ฝ์ผ๋ก, ๋ฆฌ๋์ค์์๋ ์ก์
(action) ์ด๋ผ๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์๋ง ์ํ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ. 3. Changes are made with pu..