728x90
๋ฐ˜์‘ํ˜•

useEffect 3

ESLint: Expected to return a value at the end of arrow function.(consistent-return)

ESLint์— ์˜ํ•ด ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ useEffect(() => { if (!response) { return setLoading(false); } api(); ... } useEffect ํ›…์—์„œ return setState๋ฅผ ์คฌ๋”๋‹ˆ ํ•จ์ˆ˜ ์ž์ฒด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ ์ฐพ์•„๋ณด๋‹ˆ, ํ•ด๋‹น ๋ฌธ์ œ์˜ ๋ฐœ์ƒ์›์ธ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค return ๋ฌธ์€ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (it does not execute a return statement before it exits) ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ return๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it executes return which does not specify a value explicitly) ์ •์˜๋˜์ง€ ์•Š์€ return์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it ..

React] Hook : useState ๋น„๋™๊ธฐ → ๋™๊ธฐ ํ•˜๋Š” ๋ฒ•

๋ณธ์ธ์ด ์ž‘์„ฑํ•œ ํ๋ฆ„ ๋”ฐ๋ผ ๊ฐ’์ด ๋ณ€ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ณ  setState๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ, ๋ฐ”๋กœ ๋‹ค์Œ์ค„์— ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ข…์ข… ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” useState์„ค๋ช…ํ•  ๋•Œ์ฒ˜๋Ÿผ ๋น„๋™๊ธฐ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (๊ด€๋ จ ์„ค๋ช…์€ ์•„๋ž˜ ๊ธ€ ํ™•์ธํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.) 2023.06.04 - [Front-End/React] - React] React ๋ž€...? 2023.06.06 - [Front-End/React] - Hook) useState ๊ทธ๋ ‡๋‹ค๋ฉด useState๋ฅผ ๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋ ์ง€ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. useEffect ์‚ฌ์šฉ HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค useEffect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ์„ ๋ถ€์—ฌํ•˜๊ณ , content๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๊ฐฑ์‹ ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 2023.06.20..

Front-End/React 2023.06.22

React] Hook : useEffect

useEffect Side-Effect๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Hook์ž…๋‹ˆ๋‹ค. Side-Effect : ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ํ•จ์ˆ˜ ์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š” ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ๋“ฑ์˜ ํ–‰์œ„๋กœ, ๋ Œ๋”๋ง ๋œ ์ดํ›„ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ๋ถ€์ˆ˜์ ์ธ ๊ฒƒ๋“ค์„ ์ง€์นญ uesEffect(() ⇒ { … } ,[deps]) ๋‘ ๋ฒˆ์งธ ์ธ์ž์ธ deps์— state๊ฐ’์„ ๋„ฃ๊ณ , state๊ฐ’์ด ๋ณ€ํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น useEffect๋ฅผ ์‹คํ–‰. ๋นˆ ๋ฐฐ์—ด๋กœ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ, ๋ Œ๋”๋ง ํ›„ 1๋ฒˆ๋งŒ ์‹คํ–‰. ์ข…์†์„ฑ ๋ฐฐ์—ด์„ ์•„์˜ˆ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ, ๋ฆฌ๋ Œ๋”๋ง ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰. useEffect๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์€ ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๊ฐ€ DOM์— ๋ฐ˜์˜๋  ๋•Œ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‚ฌ๋ผ์ง€๊ธฐ ์ง์ „ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. 2023.06.20 - [Front-End/React] - React ๋™์ž‘..

Front-End/React 2023.06.20
728x90
๋ฐ˜์‘ํ˜•