RTK QueryAdvanced
Serializable State — Gotchas
Redux-এর serializableCheck, Date/Map-জনিত সাবধানতা — বাংলায়।
7টি অংশবাংলা ভাষায়
Redux DevTools ও Redux cycle-এ state/action অবশ্যই serializable (JSON-able) হতে হবে। RTK-এর default serializableCheck middleware না-মেনে শুধু সতর্ক করে — runtime ভঙ্গ হয় না, তবে এড়িয়ে চলা ভালো।
কোন মান serializable নয়
Dateobject (→ string timestamp রাখুন)Map/Set(→ plain object/array)- class instance / function
undefinedproperties
serializable statets
ts
// খারাপ:
items.map((i) => ({ ...i, addedAt: new Date() }))
// ভালো:
items.map((i) => ({ ...i, addedAt: Date.now() }))
// বা ISO string: new Date().toISOString()Ignore-যদি দরকার
specific paths ignorets
ts
configureStore({
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
// নির্দিষ্ট non-serializable path এড়িয়ে
ignoredActions: ["audio/play"],
ignoredPaths: ["ui.player"],
},
}),
// ...
});default-সতর্ক ignore নয়
সতর্কতা দেখলে ignore অপশন নয় — মূলত state-এ string/ISO ব্যবহার করা। serializable রেখে dispatching/DevTools/SSR সব মসৃণ।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।