RTK QueryIntermediate
Cache-Lifecycle — KeepUnusedDataFor
Cache-এ ডেটা কতক্ষণ থাকে, keepUnusedDataFor ও refetchOnMount — বাংলায়।
4টি অংশবাংলা ভাষায়
RTK Query-র cache সার্ভার data-কে কীভাবে আয়ু দেয় তা বোঝা — অপরিহার্য। এটি টুকরা করে: একই key-র fetch একবার, unsubscribe হলে পরে keep/discard।
| Option | ডিফল্ট | অর্থ |
|---|---|---|
keepUnusedDataFor | 60s | unsubscribe-এর পর cache কতক্ষণ রাখা হবে |
refetchOnMountOrArgChange | false | mount-এ কতক্ষণের মধ্যে cache থাকলে refetch না |
refetchOnFocus | false | window focus-এ refetch |
refetchOnReconnect | false | network পুনরায়-লে refetch |
global ও per-endpointts
ts
createApi({
baseQuery,
refetchOnFocus: true,
refetchOnReconnect: true,
keepUnusedDataFor: 120, // global: 2 মিনিট
endpoints: (builder) => ({
getProduct: builder.query<Product, string>({
query: (id) => "products/" + id,
keepUnusedDataFor: 300, // override
}),
}),
});ডেটা freshness নিয়ম
ড্যাশবোর্ডের মতো fresh data দরকার হলে refetchOnFocus: true + ছোট keepUnusedDataFor। স্থিতিশীল reference (settings ইত্যাদি) — বড় keep + refetch বন্ধ। সিদ্ধান্ত আপনার UX অনুযায়ী।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।