[React] ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ์ข‹์•„์š” ์œ ์ง€ํ•˜๊ธฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 3. 9. 22:18

Today, What I learned? ๋‚ด ํŒŒํŠธ๋Š” ์•„๋‹ˆ์—ˆ์ง€๋งŒ ๊ธ‰ํ•˜๊ฒŒ ์ข‹์•„์š” ๊ด€๋ จ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹ด๋‹นํ•˜์ง€ ์•Š์•˜๋˜ ํŒŒํŠธ๋ผ ์ฝ”๋“œ๋ฅผ ๋“ค์—ฌ๋‹ค๋ณผ ์ผ์ด ๋งŽ์ง€ ์•Š์•˜๋Š”๋ฐ ์˜คํžˆ๋ ค ์ข‹์•„!.. ์ด๋ฒˆ ๋ฒ„๊ทธ๋Š” ์ƒˆ๋กœ๊ณ ์นจ ํ–ˆ์„ ๋•Œ ํ•˜ํŠธ๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ์˜€๋‹ค. ๋ถ„๋ช… ์ด์ „์—๋Š” ๋˜์—ˆ๋˜ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•œ๋ฐ ๊ทธ ์‚ฌ์ด ์ˆ˜์ •์ด ๋˜๋ฉด์„œ ๋ญ”๊ฐ€ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธด ๋“ฏ.. ๐Ÿค” ์›์ธ ํŒŒ์•… myProjects ์ปฌ๋ ‰์…˜์— ํ˜„์žฌ ํ”„๋กœ์ ํŠธ id ๊ฐ’์ด ํ™•์ธ๋˜์–ด์•ผ๋งŒ ํ•˜ํŠธ๋ฅผ ์ฑ„์šฐ๋Š” isLike๊ฐ€ ํŒ๋‹จ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ƒˆ๋กœ๊ณ ์นจ ํ–ˆ์„ ๋•Œ useQuery์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์‹œ๊ฐ„์ด ์žˆ์–ด์„œ ์ฒ˜์Œ์— undefined๋กœ ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ๋ฒ„๋ฆฌ๋Š” ๊ฒŒ ๋ฌธ์ œ์ธ ๋“ฏํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ํ•˜ํŠธ๊ฐ€ ํ’€๋ฆฌ๋‹ˆ๊นŒ ๋‹ค์‹œ ๋ˆ„๋ฅด๋ฉด ์ˆซ์ž๊ฐ€ 1์”ฉ ๋Š˜์–ด๋‚˜๋Š”.. ์ด์ƒํ•œ ๋ฒ„๊ทธ.. ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด true๋กœ m..

[React+typescript] ์นด์นด์˜คํ†ก ๊ณต์œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๊ธฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 3. 7. 20:53

Today, What I learned? ์œ ์ € ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜์—ฌ, ๊ธฐ์กด์˜ ๊ณต์œ  ๊ธฐ๋Šฅ์—์„œ ์นด์นด์˜คํ†ก ๊ณต์œ ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. (์•„๋ฌด๋ž˜๋„ ๋งŽ์ด ์“ฐ์ด๋‹ˆ๊นŒ) ์ด์ „ ํ”„๋กœ์ ํŠธ์—๋„ ๊ตฌํ˜„๋˜์–ด ์žˆ๋˜ ๋ถ€๋ถ„์ด๋ผ (๋‹ด๋‹นํ•˜์ง„ ์•Š์Œ) ๊ฝค ๋งŽ์€ ์ฐธ๊ณ ๋ฅผ ํ–ˆ์Œ์—๋„?.. ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ์ข€ ๋ฐœ์ƒํ•ด์„œ ๊ธฐ๋ก.. ์‚ฌ์ „ ์ž‘์—… ์ผ๋‹จ ์นด์นด์˜ค ๋””๋ฒจ๋กญ์Šค์—์„œ ์•ฑ ๋“ฑ๋ก๊ณผ ํ”Œ๋žซํผ์— ๋„๋ฉ”์ธ ๋“ฑ๋ก์ด ํ•„์š”ํ•˜๋‹ค. ์•ฑ์„ ๋“ฑ๋กํ•˜๋ฉด ์•ฑ ํ‚ค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๊ธฐ์„œ ํ•„์š”ํ•œ ๊ฐ’์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‚ค๊ฐ’. env ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ด ์ฃผ์ž! ๋˜ ํ”Œ๋žซํผ์—์„œ Web์— ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ•ด ์ค€๋‹ค. ๋‚˜๋Š” ๋ฐฐํฌ์ฃผ์†Œ๋ž‘ ๋กœ์ปฌํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ PR์‹œ vercel ํ”„๋ฆฌ๋ทฐ์—์„œ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ”„๋ฆฌ๋ทฐ ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค. index.html index.html์˜ ํ—ค๋” ..

[React] Input ํƒœ๊ทธ clear ๋ฒ„ํŠผ ์žฌ๋™์ž‘ ์•ˆ ํ•˜๋Š” ๋ฒ„๊ทธ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 3. 6. 22:17

Today, What I learned? ์ฃผ๋ง์ฏค์— ๋””์ž์ธ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ–ˆ๋˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ธ ์ธํ’‹ ํƒœ๊ทธ ํด๋ฆฌ์–ด ๋ฒ„ํŠผ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ.. ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•˜๋‹ค๊ฐ€ ์ œ์–ด ์ปดํฌ๋„ŒํŠธ์™€ ๋น„์ œ์–ด ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด์„œ๋„ ์ฐพ๊ฒŒ ๋˜์–ด์„œ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. ์›์ธ ํŒŒ์•… ์ผ๋‹จ ์ฒ˜์Œ์€ ๋™์ž‘์ด ์ž˜ ๋˜๋Š”๋ฐ, ํ•œ ๋ฒˆ ์ง€์šฐ๊ณ  ๋‚œ ๋’ค๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ๋™์ž‘์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ๊ทธ๋ฅผ ์ฐ์–ด๋ณด๋‹ˆ.. state๋Š” ๋ณ€๊ฒฝ์ด ์ž˜ ๋˜์—ˆ์ง€๋งŒ input์ฐฝ์— ๋น„์–ด๋ฒ„๋ฆฐ ๊ฐ’์ด ๋‹ค์‹œ ๋ฐ˜์˜์ด ์•ˆ ๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ.. input ํƒœ๊ทธ์— state์˜ ๊ฐ’์ด ์ฆ‰๊ฐ์ ์œผ๋กœ ๋ฐ˜์˜์ด ๋˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค. ์›์ธ์€ ๋ฐ”๋กœ defaultValue !.. ๋งˆ์ดํŽ˜์ด์ง€๋Š” ๋Œ€์ฒด๋กœ ์ˆ˜์ •ํ•˜๋Š” ์˜์—ญ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์˜์‹์ ์œผ๋กœ value ๋Œ€์‹  defaultValue๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. (๊ธฐ..

[React] React-query์˜ staleTime, cacheTime, invalidateQueries
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 3. 3. 21:31

Today, What I learned? ์ง€๊ธˆ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ์˜ staleTime๊ณผ CacheTime, invalidateQueries์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์ •๋ฆฝ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„์„œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋ฉด์„œ ๊ณต์‹๋ฌธ์„œ๋„ ์ฝ์–ด๋ณด๊ณ .. ๋ฏธ๋ž˜์˜ ๋‚˜๋ฅผ ์œ„ํ•œ ๊ธฐ๋ก!.. ๊ณต์‹ ๋ฌธ์„œ ๋งํฌ๋Š” ์ด์ชฝ์ด๋‹ค. https://tanstack.com/query/latest/docs/react/overview Overview | TanStack Query Docs TanStack Query (FKA React Query) is often described as the missing data-fetching library for web applications, but in more technical terms, it ma..

[React] React.memo๋กœ ์ตœ์ ํ™”ํ•˜๊ธฐ
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 3. 2. 22:50

Today, What I learned? ์‚ฌ์‹ค์ƒ ๋ผ๋””์˜ค๋ผ๋Š” ์ฝ˜์†”์€ ๋ผ๋””์˜ค๋ฒ„ํŠผ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ๋ ฅ ๋ถ€๋ถ„ ์ปดํฌ๋„ŒํŠธ์— ๋“ค์–ด๊ฐ€ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ „์ฒด์ ์œผ๋กœ ๋ Œ๋”๋ง์ด ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ถ€๋ชจ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—!... ์ด๋Ÿฐ ์“ธ๋ฐ์—†๋Š” ๋ Œ๋”๋ง ํšŸ์ˆ˜๋ฅผ ์ค„์ด๊ณ ์ž, React.memo๋ฅผ ์ ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. UserTopInfo -> ์ฒดํฌ ์˜์—ญ์„ ๊ฐ์‹ธ๋Š” ์ปดํฌ๋„ŒํŠธ -> ์ฒดํฌ๋ฐ•์Šค/๋ผ๋””์˜ค ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ์–ด์„œ, ํด๋ฆญ์˜ ์ฃผ์ฒด๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ์ธ ์ฒดํฌ๋ฐ•์Šค์™€ ๋ผ๋””์˜ค ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ์— memo๋ฅผ ์ ์šฉํ–ˆ๋‹ค. ๋‘˜ ๋‹ค userTopInfo์—์„œ ์ „์—ญ ์ƒํƒœ์ธ userInfo๋ผ๋Š” props๋ฅผ ๊ณตํ†ต์ ์œผ๋กœ ๋ฐ›๊ณ  ์žˆ๋‹ค. (์œ ์ €๊ฐ€ ์ˆ˜์ •ํ•œ ์ •๋ณด์— ๋Œ€ํ•œ ๋ถ€๋ถ„!) profiler ์ •๋ณด ์ˆ˜์ •๊ณผ ๊ด€๋ จ๋œ UserInfoT..

[React] HTTP 403 ์ด๋ฏธ์ง€ ๋กœ๋“œ ์—๋Ÿฌ googleusercontent.com
๐Ÿ“” Studying/๐Ÿšง Errors 2023. 3. 1. 20:07

์–ด๋–ค ์—๋Ÿฌ? ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์–ด๋Š ๊ณณ์ด๋˜ ๋‚˜ํƒ€๋‚˜๋˜ ์ด 403 ์—๋Ÿฌ.. ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋ฅผ ์ œ๋Œ€๋กœ ๋ชป๊ฐ€์ ธ์™€์„œ ๊ทธ๋Ÿฐ ๋“ฏ ๋ณด์˜€๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ œ๋Œ€๋กœ ๋œจ์ง€ ์•Š์•˜๋‹ค. ์ด๋ ‡๊ฒŒ ๋น„์–ด์žˆ๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด src๊ฐ€ ๋น„์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์›์ธ ํŒŒ์•… ์ด ๋ฌธ์ œ๋Š” ๊ตฌ๊ธ€๋กœ ๋กœ๊ทธ์ธํ•œ ๊ณ„์ •์—๋งŒ ๋‚˜ํƒ€๋‚˜๋Š” ํ˜„์ƒ.. 403 ์—๋Ÿฌ๋Š” ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ–ˆ์ง€๋งŒ ๊ถŒํ•œ์ƒ์˜ ๋ฌธ์ œ๋กœ ๊ฑฐ์ ˆ๋˜์—ˆ๋‹ค๋Š” ์—๋Ÿฌ๋ผ๋Š”๋ฐ, ๋ณดํ†ต ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ์˜จ ์š”์ฒญ์ž„์„ ํ™•์ธํ•˜๊ณ  ๊ฑฐ์ ˆํ–ˆ๋‹จ ๊ฒƒ์ด๋‹ค. ํ•ด๊ฒฐ ๊ณผ์ • https://stackoverflow.com/questions/56242788/http-403-on-images-loaded-from-googleusercontent-com HTTP 403 on ..

[React] ์ด๋ฏธ์ง€ ํƒœ๊ทธ ๋™์  ๊ฒฝ๋กœ ์ถ”๊ฐ€ src require
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 2. 28. 23:09

Today, What I learned? ๋งˆ์ดํŽ˜์ด์ง€์˜ UI๊ฐ€ ๊ฝค.. ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋‹ค. ๊ธฐ์กด๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ธฐ์ˆ  ์Šคํƒ๋ณ„ ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ผ์ผ์ด import ํ•ด์˜ฌ ์ˆ˜๋Š” ์—†์œผ๋‹ˆ.. ๋™์ ์œผ๋กœ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์—‘์Šค๋ฐ•์Šค๋ฅผ ๋ณด๊ณ  ํŒ€์›๋ถ„์ด require๋ผ๋Š” ํžŒํŠธ๋ฅผ ์ฃผ์…จ๋‹ค. ๊ธฐ์กด ์ƒํƒœ ๊ฐ๊ฐ ๊ธฐ์ˆ  ์Šคํƒ์— ํ•ด๋‹นํ•˜๋Š” ์•„์ด์ฝ˜ ์ด๋ฏธ์ง€ ์ ์šฉ์„ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ์กฐ๋ฆฌ ์—‘๋ฐ• ใ… ... require() ์ ์šฉ require๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ ์šฉํ•ด๋ณด์•˜์„ ๋•Œ, ์ด๋ฏธ์ง€๊ฐ€ ์ž˜ ๋œจ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ธ”๋กœ๊ทธ๋“ค์„ ๋ณด๋‹ค๋ณด๋‹ˆ .default๋ฅผ ๋ถ™์—ฌ์•ผ ์—‘๋ฐ•์ด ์•ˆ ๋œจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋˜ ์žˆ๋˜๋ฐ, ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์˜คํžˆ๋ ค ๋ถ™์ด๋‹ˆ๊นŒ ์—‘๋ฐ•์ด ๋–ด๋‹ค. ์ผ€์ด์Šค ๋ฐ”์ด ์ผ€์ด์Šค์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ? require๋งŒ ..

[React] ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰ ์ตœ์ ํ™”
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 2. 27. 22:53

Today, What I learned? ๋ผ์ดํŠธํ•˜์šฐ์Šค์˜ ์ง€ํ‘œ๋ฅผ ๋ณด๊ณ  ํ”„๋กœํ•„ ์ด๋ฏธ์ง€์˜ ํ™•์žฅ์ž๋ฅผ webp๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด์„œ.. ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ ํ™•์žฅ์ž๋ฅผ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์—์„œ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ํ™•์žฅ์ž๋„ ํ™”๋ฉด๊ณต์œ ๋ฅผ ํ†ตํ•ด ํŒ€์› ๋ถ„์ด ๋ณ€๊ฒฝํ•ด ์ฃผ์…จ์ง€๋งŒ, ๊ทธ ๊ณผ์ •์—์„œ ๋‚ด๊ฐ€ ๋˜ ์‹ค์ˆ˜ํ•œ(!) ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค ^^ใ…Ž ์šฐ์„  ํ˜„์žฌ ๋ผ์ดํŠธ ํ•˜์šฐ์Šค๋Š” ์ด๋ ‡๋‹ค. ์ด๋ฏธ์ง€ ๋ฆฌ์‚ฌ์ด์ฆˆ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด react-image-file-resizer ๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ™•์žฅ์ž๋ฅผ jpg, png ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ webp๋„ ํ•จ๊ป˜ ์ œ๊ณตํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ ์šฉ๋˜์–ด ์žˆ๋˜ ๋ฆฌ์‚ฌ์ด์ฆˆ ํฌ๋งท์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. const resizeFile = (file: File) => new Promi..

[React] React.memo, useMemo, useCallback
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 2. 24. 20:11

Today, What I learned? ํ”„๋ก ํŠธ์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ธ๊ฐ€?๋ฅผ ์š”์ƒˆ ๊ณ ๋ฏผํ•˜๊ณ  ์ฐพ์•„๋ณด๊ณ , ์—ฌ๋Ÿฌ ๊ธ€๋“ค์„ ์ฝ์–ด๋ณด๊ณ  ์žˆ๋‹ค. ๊ทธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง ์ค„์ด๊ธฐ!.. ๋ Œ๋”๋ง์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ memoization์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. memoization memoization์€ ๋ฆฌ์•กํŠธ์—๋งŒ ํ•ด๋‹น๋˜๋Š” ๊ธฐ์ˆ ์€ ์•„๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ๋™์ผํ•œ ๊ณ„์‚ฐ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ•  ๋•Œ, ์ด์ „์˜ ๊ณ„์‚ฐํ•œ ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด ๋†“๊ณ  ์‚ฌ์šฉํ•˜์—ฌ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ๋ฐ˜๋ณต ์ž‘์—… ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์„ ๋ฉ”๋ชจ๋ฅผ ํ•ด๋†“๊ณ  ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๋Š๋‚Œ? ๋ณดํ†ต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ์˜ memoization ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€. React.memo, useMemo, useCallba..

[React] useEffect์˜ ์‹คํ–‰ ์‹œ์ 
๐Ÿ“” Studying/๐Ÿ’Œ TIL 2023. 2. 23. 10:49

Today, What I learned? ์ž‘์€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋‹ค๊ฐ€ null๊ฐ’์ด ํฌํ•จ๋˜์–ด์„œ ์›๋ž˜ ๋˜๋˜ ๊ธฐ๋Šฅ์ด ์•ˆ ๋˜๋Š”(!) ์ผ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ฐœ๊ฒฌํ•˜์‹  ๋ถ„์ด ๋ฐ”๋กœ ํ•ด๊ฒฐํ•ด ์ฃผ์…จ์ง€๋งŒ, ๋งˆ์นจ ๊ทธ ๋ถ€๋ถ„์ด useEffect๋ฅผ ์‚ฌ์šฉํ–ˆ๋˜ ๋ถ€๋ถ„์ด๊ณ .. ๋‚ด๊ฐ€ useEffect์˜ ์‹คํ–‰ ์‹œ์ ์— ๋Œ€ํ•ด์„œ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„ ์ •๋ฆฌํ•œ๋‹ค! useEffect์˜ ์‹คํ–‰ ์ˆœ์„œ ๋‚˜๋Š” ๊ธฐ์กด์— useEffect๊ฐ€ ์ œ์ผ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋Š”๋ฐ, (์ •ํ™•ํžˆ ์™œ์˜€๋Š”์ง€๋Š”?..๐Ÿค”) useEffect ๊ฐ™์€ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๋Š” jsx๊ฐ€ ๋“ค์–ด์žˆ๋Š” return๋ฌธ์ด ๋๋‚˜๊ณ  ์‹คํ–‰๋œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ˜์†”์„ ์ถ”๊ฐ€ํ•ด์„œ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋‹ค์‹œ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ๋˜๋Š” return๋ฌธ์ด ๋จผ์ € ์‹คํ–‰๋˜๊ณ  useEffect์˜ ์ฝ˜์†”์ด ์ฐํžˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. co..