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

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

3์›” ์ฒซ์งธ ์ฃผ ์ฃผ๊ฐ„ํšŒ๊ณ 
๐Ÿ“˜ Retrospect/๐Ÿ’ญ ํšŒ๊ณ  2023. 3. 5. 17:34

3์›” ์ฒซ์งธ ์ฃผ๋ฅผ ๋ณด๋‚ด๋ฉฐ ๋ฒŒ์จ ๋‹ค์Œ ์ฃผ๊ฐ€ ์ง€๋‚˜๋ฉด ์ตœ์ข…๋ฐœํ‘œ.. ์ฆ‰ ์ˆ˜๋ฃŒ๋‹ค.. ๐Ÿ˜‡ OMG.. ์†์ด ๋น ๋ฅด๊ฒŒ ๋‚˜์•„๊ฐ€์„œ ๋‹คํ–‰์ด์ง€๋งŒ ํ•œ ์ฃผ ๋™์•ˆ ์–ผ๋งˆ๋‚˜ ๋ถˆํŽธํ–ˆ๋Š”์ง€~~ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ชจ๋‘ ๋๋‚˜์„œ ๋‹คํ–‰์ด์—ˆ๋‹ค ใ…Ž.. ๐Ÿ‘€ Fact ํ”„๋กœ์ ํŠธ ํ”ผ๋“œ๋ฐฑ๊ณผ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜๋‹ค. ๋งˆ์ดํŽ˜์ด์ง€ UI๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค. ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌํŒฉํ† ๋ง ํ–ˆ๋‹ค. ๋ฒ„๊ทธ๋“ค์„ ์ˆ˜์ •ํ–ˆ๋‹ค. ์œ ์ € ํ”ผ๋“œ๋ฐฑ์„ ์œ„ํ•ด ์—ฌ๊ธฐ์ €๊ธฐ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฟŒ๋ฆฌ๊ณ  ๋‹ค๋…”๋‹ค. ๋งŽ๊ด€๋ถ€~~,, ๐Ÿ™‚ Feeling ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€๊ฐ€ ๋” ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ƒ๊ฐ.. ์ผ๋‹จ ํ•ด๋ณด๋Š”๋ฐ ํ•˜๋‹ค๋ณด๋ฉด ๋˜ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒŒ ์ฐธ ์‹ ๊ธฐํ•˜๋„ค.. ๐Ÿ˜‡ ๋ชจ๋ฐ”์ผ๋„ ๊ธฐ๋Šฅ ํ™•์ธ์„ ์ž˜ํ•˜์ž... ์œ ์ € ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์œผ๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ๋–จ๋ฆฐ๋‹ค ๐Ÿ˜‡ ~~ ๐Ÿ” Finding ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰ ์ตœ์ ํ™”ํ•˜๊ธฐ ์ด๋ฏธ์ง€ ํƒœ๊ทธ์— ๋™์  ๊ฒฝ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ React..

[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..

2์›” ๋„ท์งธ ์ฃผ ์ฃผ๊ฐ„ ํšŒ๊ณ 
๐Ÿ“˜ Retrospect/๐Ÿ’ญ ํšŒ๊ณ  2023. 2. 26. 17:23

2์›” ๋„ท์งธ ์ฃผ๋ฅผ ๋ณด๋‚ด๋ฉฐ ๋ฏธ์นœ ๋“ฏ์ด ๋‹ฌ๋ฆฐ 3์ฃผ.. ๋ฒŒ์จ ์ค‘๊ฐ„๋ฐœํ‘œ ๋๋‚ฌ๋‹ค. ์ˆ˜๋ฃŒ๊นŒ์ง€ ์ •๋ง 2์ฃผ?.. ์ •๋„๋ฐ–์— ์•ˆ ๋‚จ์•˜๋„ค ์‹œ๊ฐ„ ์ฐธ ๋น ๋ฅด๋‹ค.. ๐Ÿ‘€ Fact ๋ชจ๋ฐ”์ผ UI ์ž‘์—…์„ ํ–ˆ๋‹ค. ๋งˆ์ดํŽ˜์ด์ง€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•œ์ธต ๊ฐ•ํ™”ํ–ˆ๋‹ค. useEffect์˜ ์‹คํ–‰ ์‹œ์ ์„ ๋‹ค์‹œ ๋˜์งš์—ˆ๋‹ค. ๋ฐฐํฌ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค. ๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค. ๐Ÿ™‚ Feeling ์ด๋ฒˆ ๋ฒ„๊ทธ๋“ค์„ ๊ณ ์น˜๋ฉฐ ๋˜ ํ•œ์ธต ์„ฑ์žฅํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ธฐ๋ณธ์— ๋จผ์ € ์ถฉ์‹คํ•˜์ž๋Š” ์ƒ๊ฐ. PR ์ „์—, ์ปค๋ฐ‹ ์ „์— ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ๋‹ค์–‘ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ! ์ƒ๋Œ€์ ์œผ๋กœ ์ง€๋‚œ์ฃผ๋ณด๋‹จ? ๋œ ์••๋ฐ•๋ฐ›์œผ๋ฉฐ ์ง„ํ–‰ํ•œ ๋Š๋‚Œ. ๐Ÿ” Finding ์ด์ „ state์™€ ๋น„๊ตํ•ด์„œ ํ˜„์žฌ state ํ™œ์„ฑํ™” ์—ฌ๋ถ€ ํ‘œ์‹œํ•˜๊ธฐ useEffect์˜ ์‹คํ–‰์‹œ์  React.lazy์™€ Suspense A..

[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..