header-img
Info :
react 13
list_img
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..
list_img
React :: ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ .env(ํ™˜๊ฒฝ ๋ณ€์ˆ˜) ์…‹ํŒ…ํ•˜๊ธฐ
2023.11.20
React ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด, ๋ฐฐํฌ ํ™˜๊ฒฝ?์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์…‹ํŒ…ํ•ด์•ผํ•˜๋Š” case๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋ณดํ†ต API ์ฃผ์†Œ๋ฅผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋งŽ์ด ์…‹ํŒ…ํ•ด๋‘๊ณ ๋Š” ํ•˜๋Š”๋ฐ.. ์šด์˜ API ์ฃผ์†Œ์™€ ๊ฐœ๋ฐœ API ์ฃผ์†Œ๋ฅผ ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์…‹ํŒ…ํ•ด๋‘๊ณ  ์‹ถ์€ case๊ฐ€ ๋”ฑ ์ด์— ํ•ด๋‹นํ•œ๋‹ค. React :: ํ™˜๊ฒฝ๋ณ€์ˆ˜(.env) ์…‹ํŒ…ํ•˜๊ธฐ ํ† ํฐ์ด๋‚˜ API ํ‚ค ๊ฐ™์€ ๊ฒƒ์€ ํ•˜๋“œ์ฝ”๋”ฉ์œผ๋กœ ์ง‘์–ด ๋„ฃ์œผ๋ฉด ๋ฐฐํฌ ์‹œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์— ๋ชจ๋‘ ๋“œ๋Ÿฌ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ํ•œ ์ˆจ๊ฒจ์„œ ์ฝ”๋”ฉ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ "ํ™˜๊ฒฝ๋ณ€์ˆ˜" ์ด๋‹ค. bornatnoon.tistory.com ์šฐ์„  ๊ธฐ์ดˆ ์…‹ํŒ… ๋ฐฉ๋ฒ•์„ ์ฒจ๋ถ€ํ•ด๋ณธ๋‹ค. (.env ํŒŒ์ผ์„ ํ•˜๋‚˜๋งŒ ์“ฐ๋Š” ์ผ€์ด์Šค) ์ผ€์ด์Šค์— ๋”ฐ๋ฅธ .env ์„ค์ • ๋ฐฉ๋ฒ• โ€ป ์ฐธ๊ณ . ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ์ƒ..
list_img
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 ๋ฅผ ์ฑ„ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ.. ์ •ํ™•ํžˆ๋Š” ์ฑ„ํƒ ๋‹นํ–ˆ๋‹ค. ๊ณ ๋กœ..
list_img
์‰ฌ์šด ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ "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. ๋นˆ ์ข…์†์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ ..
list_img
๋™์ ์ธ ๊ฐ’์„ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜, 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 ๋ž€?
list_img
1. ๋ฆฌ์•กํŠธ์˜ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ 
2023.07.24
React ๋ž€? Facebook ์—์„œ ์ฃผ๋„ํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜์—ฌ UI๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” JS ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. React ์ž์ฒด๋กœ๋Š” Framework ๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์ธ Routing, ์ƒํƒœ๊ด€๋ฆฌ ๊ธฐ๋ณธ ์ œ๊ณต์„ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•ด์„œ '๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ'์ด์ง€๋งŒ, React ์ƒํƒœ๊ณ„๋กœ์„œ๋Š” Framework. React ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ๊ธฐ์กด: ํŠน์ • DOM ์„ ์„ ํƒํ•œ ๋’ค, ํ•ด๋‹น DOM์— ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด์— ๋Œ€ํ•œ change ๊ฐ€ ์ผ์–ด๋‚˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹. - ์œ ์ €์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์ž์ฃผ ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ ์ด์— ๋”ฐ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋™์ ์œผ๋กœ UI์— ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ทธ๋งŒํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ณต์žกํ•ด์ง€๊ณ  ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ค์–ด์ง. React ํŠน์ง• 1. ๊ฐ€์ƒ DOM ๊ธฐ์กด์˜ ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ํ™”๋ฉด ์ „์ฒด๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง ๋˜์–ด์„œ ์ „์ฒด ํ™”๋ฉด์ด ๋‹ค์‹œ ..
list_img
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 ์„ค์น˜ ๋ฆฌ์•กํŠธ ๊ธฐ๋ณธํ‹€ ๋งŒ๋“ค๊ธฐ์—..
list_img
[๊ฐœ๋ฐœ๋„๊ตฌ] 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..