Hook

ยท IT
React Query(Tanstack Query) React Query๋ž€? React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์บ์‹ฑํ•˜๋ฉฐ ๋™๊ธฐํ™”ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ž‘์—…์„ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๋‚ด๊ฐ€ React Query๋ฅผ ์„ ํƒํ•œ ์ด์œ  Client ๋ฐ์ดํ„ฐ์™€ Server ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๋ถ„๋ฆฌ๊ฐ€ ๋œ๋‹ค. api ์š”์ฒญ์— ๋Œ€ํ•œ ๋กœ๋”ฉ, ์—๋Ÿฌ, ๋ฐ์ดํ„ฐ(response) ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค. ๋„คํŠธ์›Œํฌ ์š”์ฒญ ๊ด€๋ จ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ, ์˜ต์…˜๋“ค์ด ์žˆ๋‹ค. (refetchOnWindowFocus, ๋ธŒ๋ผ์šฐ์ €์— ํฌ์ปค์Šค๊ฐ€ ๋“ค์–ด์˜จ ๊ฒฝ์šฐ) ์žฅ์  ์ค‘ ํ•˜๋‚˜๋กœ ์บ์‹ฑ๋„ ์žˆ์ง€๋งŒ ๋‚˜๋Š” ๋ณ€๊ฒฝ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ๋ฐ›์•„์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹ฑ์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค. ์ง€์ €๋ถ„ํ•œ๊ฑธ?! ๊ทธ๋ ‡๊ฒŒ ์œ ์šฉํ•˜๊ฒŒ ์ž˜ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜.. ์ปดํฌ๋„ŒํŠธ, ํŽ˜์ด์ง€ ์•ˆ์— api ๊ด€๋ จ ๋กœ์ง๋“ค์ด ๊ฐ™์ด ์žˆ๋‹ค ๋ณด๋‹ˆ ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด..
ยท IT/React
useStateconst [state, setState] = useState(initialState)useState๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋น„๊ตฌ์กฐํ™” ํ• ๋‹น์„ ํ†ตํ•ด state, setState๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด useState๋Š” ์–ด๋””์„œ ์˜ค๋Š” ๊ฒƒ์ผ๊นŒ? ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•˜๋ฉด ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ ๋‹ค์‹œ ํ˜ธ์ถœ๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•จ์ˆ˜๊ฐ€ ๋‹ค์‹œ ํ˜ธ์ถœ๋˜์—ˆ์„ ๋•Œ ์ด์ „์˜ ์ƒํƒœ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ธ๊ฐ€?๋ฐ”๋กœ! useState๋Š” closure๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „์˜ ์ƒํƒœ๊ฐ’์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค!๊ทธ๋ ‡๋‹ค๋ฉด closure๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ด์— ๋Œ€ํ•ด ๋จผ์ € ํ™•์ธํ•ด ๋ณด์ž! closure๋ž€?mdn์— ๋”ฐ๋ฅด๋ฉด ํ•จ์ˆ˜์™€ ๊ทธ ์ฃผ๋ณ€ ์ƒํƒœ(lexical environment, ํ•จ์ˆ˜๊ฐ€ ์ •์˜๋  ๋•Œ ์ฃผ๋ณ€์˜ ์Šค์ฝ”ํ”„์™€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜..
ยท IT/React
์ž…์ ์‚ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ํŽ˜์ด์ง€๋„ค์ด์…˜๊ณผ ํ•จ๊ป˜ ๋งŽ์ด ์“ฐ์ธ ๊ฒƒ์€ ํ•„ํ„ฐ์ผ ๊ฒƒ์ด๋‹ค! ๊ฐ ํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ํ•„ํ„ฐ์™€ ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ๊ฐ๊ฐ์˜ ํŽ˜์ด์ง€๋งˆ๋‹ค ํ•„ํ„ฐ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค๋ฉด์„œ ๊ทธ์— ๋Œ€ํ•œ ๋กœ์ง์ด ๋ฐ˜๋ณต๋˜์–ด ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ๋’ค๋กœ๊ฐ€๊ธฐ ๋˜๋Š” ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ํ•„ํ„ฐ๊ฐ’์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ๋‹ค! ํ•„ํ„ฐ ์ปดํฌ๋„ŒํŠธ์™€ ํ•„ํ„ฐ ๊ด€๋ จ hook ๊ตฌํ˜„ํ•˜๊ธฐ ํ•„ํ„ฐ ์ปดํฌ๋„ŒํŠธ ์ดˆ๊ธฐ ํ•„ํ„ฐ๊ฐ’๋“ค๊ณผ ๊ฒ€์ƒ‰, ์ดˆ๊ธฐํ™” ์‹œ ๋™์ž‘๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ ๋ฐ›๋Š”๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ•„ํ„ฐ๊ฐ’์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. src/components/filter/deliveryTemplateFilter.tsx interface DeliveryTemplateFilterProps { initialFilterValues: FormState onSubmit: (filte..
์†”B
'Hook' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก