API
λ°λ³΅λλ API Call
μμ£Ό λ³κ²½λμ§ μλ APIλ μΊμ±ν΄μ μ¬μ©νλ©΄ API νΈμΆ λΉμ©κ³Ό μλ΅μκ°μ μ΅μ νν μ μλ€.
μμ£Ό λ³κ²½λλ APIλ μΊμ±μ μ¬μ©νλ€λ©΄ νΈμΆ λΉμ©μ λ°μνμ§λ§ μΊμ±λ λ°μ΄ν°λ₯Ό λ¨Όμ 보μ¬μ£Όκ³ λ°±κ·ΈλΌμ΄λμμ APIλ₯Ό νΈμΆνμ¬ κ°±μ ν΄μ€λ€λ©΄ μλ΅μκ° μΈ‘λ©΄μ μ΄λμΌλ‘ μΈν΄ μ λ €ν μ¬μ©μ κ²½νμ μ 곡ν΄μ€ μ μλ€.
Prefetching
pre-fetch, λ λλ§ μ΄μ μ λ°μ΄ν°λ₯Ό 미리 λ°μλκΈ°
Client Side Prefetching
router-prefetch
β μ΄λν λΌμ°ν°μ νμ΄μ§ λ°μ΄ν°λ₯Ό 미리 fetchingclient sideμ transitionμ λΉ λ₯΄κ² νκΈ° μν¨
next/link
λ μλμΌλ‘ prefetchingnext/link
μ<Link/>
λ₯Ό μ¬μ©νμ§ μλ κ²½μ°μ μ μλ―Ένλ€.
Server Side Prefetching
λ λλ§μ νμν λ°μ΄ν°λ₯Ό 미리 μλ²μμ fetch νμ¬ λ λλ§ μ λ°λ‘ 보μ¬μ€ μ μλλ‘ μ 곡
initialData prop
βgetServerSideProps
,getStaticProps
λ±μ μ΄μ©νμ¬ μλ² dataλ₯Ό 미리 fetchingνκ³ propsλ‘ λ겨 useQueryμ initialDataλ‘ λ겨주λ λ°©μλ¨μ β useQueryλ₯Ό μ¬μ©νλ μ»΄ν¬λνΈκΉμ§ propsλ‘ λ겨주μ΄μΌ νλ―λ‘ props drilingμ΄ μ¬ν΄μ§κ³ refetching μμ μ λ°λ‘ μμ±ν΄μ£Όμ΄μΌ νλ€.
hydration prefetching
β λ§μ°¬κ°μ§λ‘getServerSideProps
,getStaticProps
μ μ΄μ©νμ¬ μλ²μμ fetchingν λ°μ΄ν°λ₯Ό queryClientμ λ΄μ dehydrateStateλ‘ λκ²¨μ£Όκ³ <Hydrate /> HOCλ‘ μ λ¬νλ€.Hydrate HOCλ λ°μ stateλ₯Ό clientμ queryClientλ‘ μ μ μ μ§ννλ€.
ν΄λΉ λ°μ΄ν°λ useQueryμμ stale dataλ‘ μ·¨κΈλμ΄ λ λλ§μ΄ μ°μ μ§νλκ³ λ°±κ·ΈλΌμ΄λμμ μ΅μ λ°μ΄ν°λ₯Ό refetch λ°μ κ΅μ²΄ν΄μ€λ€.
Caching
Stale β μ΄μ μ fetchλ μ μ νμ§ μμ λ°μ΄ν°
μ μ νμ§ μμ λ°μ΄ν°λ₯Ό μ°μ 보μ¬μ£Όκ³ λ°±κ·ΈλΌμ΄λμμ μ΅μ λ°μ΄ν°λ₯Ό 리ν¨μΉνλ κ³Όμ μ΄ μ§νλλ€.
stale time(default 0s) λ§νΌ fresh μνλ‘ μ‘΄μ¬νλ€κ° stale μνλ‘ λ³κ²½λ¨
stale μνμμ νΉμ Refetching 쑰건 μΆ©μ‘±μ λ°±κ·ΈλΌμ΄λμμ refetching κ³Όμ μ΄ μΌμ΄λ¨
μ QueryInstanceκ° λ§μ΄νΈ λ λ (νμ΄μ§ μ΄λ)
λΈλΌμ°μ ν focus out/in μ ν μ
λ€νΈμν¬κ° μ¬μ°κ²° λ λ
refetchInterval μ€μ μ
Cache β fetch λμ΄ μ¬μ¬μ©λλ λ°μ΄ν°
cache time(default 5m)λμ μ μ₯λλ€.
QueryCache λ΄λΆ queriesμ λ°μ΄ν°κ° μ‘΄μ¬νλ μν
Persist Caching
λ©λͺ¨λ¦¬ μνκ° μλ λΈλΌμ°μ λ΄ μ€ν 리μ§μ μΊμ±λ λ°μ΄ν°λ₯Ό μ μ₯νμ¬ νμ΄μ§λ₯Ό μλ‘κ³ μΉ¨ν΄λ refetching νμ§ μκ³ μ΄μ μ μ μ₯λ λ°μ΄ν°λ₯Ό μ¬μ©ν μ μλλ‘ λ§λ€ μ μλ€.
Last updated