header-img
Info :
๊ธฐ์ดˆ๋ฌธ๋ฒ• 4
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 ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์—์„œ ์„ ์–ธํ•˜๊ณ , ์ž˜ ๋‚ด๋ ค์ฃผ๊ณ (์ƒ์†) ๊ผฌ์ด์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ณ ์˜ค๊ธ‰ ์Šคํ‚ฌ..