Stale Data ( ๋ง๋ฃ๋ ๋ฐ์ดํฐ ) โ
์๋ฅผ ๋ค์ด ์ค๋๋ ์๋นต๊ณผ ๋น์ทํ๋ค๊ณ ํ ์ ์์ต๋๋ค.
React Query ์์ ๋ฐ์ดํฐ๊ฐ ๋ง๋ฃ๋๋ค๋ ๊ฒ์ ๋ฌด์จ ๋ป์ธ๊ฐ โ
๋ฐ์ดํฐ ๋ฆฌํจ์นญ(Refetching) ์ ๋ง๋ฃ๋ ๋ฐ์ดํฐ ์์๋ง ์คํ ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์ปดํฌ๋ํธ๊ฐ ๋ค์ ๋ง์ดํธ๋๊ฑฐ๋ ์๋์ฐ๊ฐ ๋ค์ ํฌ์ปค์ค ๋์์ ๋๊ฐ ์์ต๋๋ค.
- staleTime ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ '์ต๋ ๋์ด' ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ๋ฌ๋ฆฌ ๋งํ๋ฉด, ๋ฐ์ดํฐ๊ฐ ๋ง๋ฃ๋๋ค๊ณ ํ๋จํ๊ธฐ ์ ๊น์ง ํ์ฉ๋๋ ์๊ฐ ์ด staleTime ์ ๋๋ค.
- '์น์ฌ์ดํธ์ ํ์๋ ๋ฐ์ดํฐ๊ฐ 10์ด ๊น์ง๋ ๊ทธ๋๋ก์ฌ๋ ๊ด์ฐฎ๋ค' ๋ผ๊ณ ํ๋จํ๋ฉด staleTime ์ 10์ด๋ก ์ค์ ํฉ๋๋ค.
- stale ํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ์ ์๋ฏธํ์ง ์๋ค๊ณ React Query๋ ํ๋จํ๊ณ fresh ํ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ๊ฒ ๋ฉ๋๋ค.
๊ฒฐ๊ตญ ์๋ฒ๋ก๋ถํฐ freshํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ๋ฐ๊ธฐ ์ํด refetch๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
โ staleTime ์ฌ์ฉ
useQuery ์ ์ธ๋ฒ์งธ ์ต์ ์ผ๋ก ์ถ๊ฐ ํฉ๋๋ค.
const {data} = useQuery('์ฟผ๋ฆฌ ํค', '์ฟผ๋ฆฌ ํจ์' ,'์ต์
')
const {data, isLoading, isError, error} = useQuery('posts', fetchPosts, {staleTime : 2000});
- ๊ฒ์๋ฌผ์ด 2์ด๋ง๋ค ๋ง๋ฃ๋๋๋ก ์ค์ ํ์ต๋๋ค.
โ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ํ์ธ
- ์๋์ฐ๊ฐ ๋ค์ ํฌ์ปค์ค ๋ ๋ fresh ์ํ๊ฐ ๋์๊ณ , 2์ด ํ์ stale ์ํ๋ก ๋ฐ๋์์ต๋๋ค.
- ์๋ก ๊ณ ์นจํด๋ 2์ด ๋์ fresh ์ํ์๋ค๊ฐ, stale ์ํ๋ก ๋ฐ๋๋๋ค.
staleTime ์ ๊ธฐ๋ณธ๊ฐ์ ์ 0 ์ธ๊ฐ โ
React Query ๊ฐ๋ฐ์์ธ Tanner Linsley ์ ์ํ๋ฉด,
'์
๋ฐ์ดํธ๊ฐ ์ ์ ๋๋์?' ๋ณด๋ค '๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๋ ์ต์ ์ํ๋ฅผ ์ ์งํ๋์?' ๊ฐ ํจ์ฌ ์ข์ ์ง๋ฌธ ์
๋๋ค.
staleTime ์ ๊ธฐ๋ณธ๊ฐ์ 0์ผ๋ก ์ค์ ํ๋ค๋ ๋ง์ ๋ฐ์ดํฐ๋ ํญ์ ๋ง๋ฃ ์ํ์ด๋ฏ๋ก ์๋ฒ์์ ๋ค์ ๊ฐ์ ธ์์ผ ํ๋ค๊ณ ๊ฐ์ ํ๋ค๋ ๋ป ์ ๋๋ค.
staleTime vs cacheTime โ
staleTime | cacheTime |
---|---|
๋ฆฌํจ์นญ ํ ๋ ๊ณ ๋ ค ์ฌํญ | ๋์ค์ ๋ค์ ํ์ํ ์๋ ์๋ ๋ฐ์ดํฐ |
cacheTime โ
- ํน์ ์ฟผ๋ฆฌ์ ๋ํ ํ์ฑ useQuery ๊ฐ ์๋ ๊ฒฝ์ฐ ํด๋น ๋ฐ์ดํฐ๋ '์ฝ๋ ์คํ ๋ฆฌ์ง' ๋ก ์ด๋ ํฉ๋๋ค.
- ๊ตฌ์ฑ๋ cacheTime ์ด ์ง๋๋ฉด ์บ์์ ๋ฐ์ดํฐ๊ฐ ๋ง๋ฃ๋๋ฉฐ ์ ํจ ์๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ 5๋ถ ์ ๋๋ค.
- cacheTime ์ด ๊ด์ฐฐํ๋ ์๊ฐ์ ์์ ํน์ ์ฟผ๋ฆฌ์ ๋ํ useQuery ๊ฐ ํ์ฑํ๋ ํ ๊ฒฝ๊ณผํ ์๊ฐ ์
๋๋ค.
- ํ์ด์ง์ ํ์๋๋ ์ปดํฌ๋ํธ๊ฐ ํน์ ์ฟผ๋ฆฌ์ ๋ํด useQuery ๋ฅผ ์ฌ์ฉํ ์๊ฐ์ ๋งํฉ๋๋ค.
- ์บ์๊ฐ ๋ง๋ฃ๋๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์คํ๋๊ณ , ํด๋ผ์ด์ธํธ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ์บ์์ ์๋ ๋์์๋ ํจ์นญ(Fetching) ํ ๋ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
โ ์ฐธ๊ณ
'๐ Front-End > React.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React Query - ํ์ด์ง ๋งค๊น(Pagination) (0) | 2022.10.25 |
---|---|
React Query - ์ฟผ๋ฆฌ ํค (0) | 2022.10.25 |
React Query - Dev Tools (0) | 2022.10.25 |
React Query - ๋ก๋ฉ ๋ฐ ์ค๋ฅ ์ํ (0) | 2022.10.25 |
React Query - ๋ง๋ค๊ธฐ (0) | 2022.10.25 |