
Tanstack Query๋ฅผ ์ฌ์ฉํ ๋ ๊ฐํน๊ฐ๋ค ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ๊ฐ์ ์์ง ๋ชปํ๋ค๋ฉด
ํ์ต์ด๋ ๋๋ฒ๊น
์ ์ด๋ ค์์ ์ค ์๋ ์์ด ๊ผญ ์์๋์ด์ผํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก useQuery, useInfiniteQuery๋ฅผ ํตํ ์ฟผ๋ฆฌ ์ธ์คํด์ค๋ ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ์ค๋๋ ๋ฐ์ดํฐ๋ก ๊ฐ์ฃผํฉ๋๋ค.
staleTime ์ต์
์ ์ฌ์ฉํด ์ ์ญ์ ์ผ๋ก, ํน์ ์ฟผ๋ฆฌ๋ณ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.staleTime์ ์ง์ ํ๋ฉด ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ๋ค์ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.์๋์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋์ผ๋ก ๋ค์ fetchํฉ๋๋ค.
refetchOnMount, refetchOnWindowFocus, refetchOnReconnect ๋ฐ refetchInterval ๊ณผ ๊ฐ์ ์ต์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.useQuery, useInfiniteQuery ๋๋ ์ฟผ๋ฆฌ ์ต์ ๋ฒ์ ํ์ฑ ์ธ์คํด์ค๊ฐ ๋ ์ด์ ์๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ ๋นํ์ฑ์ผ๋ก ํ์๋๊ณ ๋์ค์ ๋ค์ ์ฌ์ฉ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด ์บ์์ ๋จ์์์ต๋๋ค.
๋ํ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑ ์ฟผ๋ฆฌ๋ 5๋ถ ํ์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ์์งํฉ๋๋ค.
gcTime์ 1000 * 60 * 5 ๋ฐ๋ฆฌ์ด๊ฐ ์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค์ง ๋ชปํ, ์ฆ ์คํจํ ์ฟผ๋ฆฌ๋ ์ง์์ ๋ฐฑ์คํ ์ง์ฐ ์๊ฐ์ ๋๊ณ 3๋ฒ ์๋์ผ๋ก ์ฌ์๋ํ ํ ์ค๋ฅ๋ฅผ ์บก์ฒํ์ฌ UI์ ํ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ๋ณ๊ฒฝ๋์๋์ง ๊ฐ์งํ๊ธฐ ์ํด ๊ตฌ์กฐ์ ์ผ๋ก ๊ณต์ ๋๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ useMemo ๋ฐ useCallback๊ณผ ๊ด๋ จํ์ฌ ๊ฐ ์์ ํ์ ๋ ๋์์ด ๋๋๋ก ๋ฐ์ดํฐ ์ฐธ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. 99.9%์ ๊ฒฝ์ฐ ์ด๋ฅผ ๋นํ์ฑํํ ํ์๊ฐ ์์ผ๋ฉฐ ์ฑ์ ์ฑ๋ฅ์ด ํฅ์๋๊ณ ๋น์ฉ์ ์ ํ ๋ค์ง ์์ต๋๋ค.