Contents

useInfiniteQuery์— ๋Œ€ํ•˜์—ฌ

   Jun 15, 2023     0 min read

useInfiniteQuery(๋ฌดํ•œ ์Šคํฌ๋กค)์— ๋Œ€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

๋ฌดํ•œ ์Šคํฌ๋กค์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€

์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€ ํ•˜๋‹จ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ, ์ฝ˜ํ…์ธ ๊ฐ€ ๊ณ„์† ๋กœ๋“œ๋˜๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ฒ˜

์ฃผ๋กœ pagination์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ํด๋ฆญ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ํ•œ ๋ฒˆ์— ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ, ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • ํ–‰์œ„์— ๋Œ€ํ•ด ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ผ์ • ์ˆ˜์˜ ์•„์ดํ…œ์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ฐ์ดํ„ฐ ์„ธํŠธ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค ๋ถˆ๋Ÿฌ์™€์ง€๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค์€ ๋ฉˆ์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ฌดํ•œ ์Šคํฌ๋กค์€ ์˜ต์…˜์— ๋Œ€ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋ผ๋Š” ๊ฐœ์ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ๋ฒ•
  1. useInfiniteQuery์˜ ์†์„ฑ์— queryFunction๊ณผ queryParams๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  2. queryFunction์—๋Š” ๋ฌดํ•œ์Šคํฌ๋กค ๋Œ€์ƒ API. ์ฆ‰, ๋ถˆ๋Ÿฌ์˜ค๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. queryParams์—๋Š” ์ •ํ•ด์ง„ ๋ฐ์ดํ„ฐ row ์ˆ˜๋งŒํผ ์ €์žฅ์‹œํ‚ฌ ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.