Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • RTK Query Documentation39টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Redux Intro
  • Architecture
  • Redux Toolkit
  • Project Setup
  • Folder Structure
  • configureStore
  • Redux Provider
  • createSlice
  • Reducers & Actions
  • Typed Hooks
  • Selectors
  • Devtools
  • RTK Query
  • createApi
  • API Middleware
  • API Tags
  • Fetch List
  • Fetch Detail
  • Mutation — Create
  • Mutation CRUD
  • Cache Invalidation
  • Cache Lifecycle
  • Polling
  • Query Selectors
  • Optimistic Update
  • Cart Slice Full
  • Cart UI
  • Local vs Server
  • Listener Middleware
  • Error Handling
  • Loading States
  • Serializability
  • SSR Prefetch
  • Complete Flow
  • Complete Project
  • Production
  • Common Mistakes
  • Best Practices
  • Interview Q&A
  1. Docs
  2. RTK Query
  3. Error Handling — RTK Query ভুল
RTK QueryIntermediate

Error Handling — RTK Query ভুল

Serialized error shape, matcher, retry, user-friendly message — বাংলায়।

8টি অংশবাংলা ভাষায়

RTK Query-র error হলো serializable object — { status, data } shape. Middleware-এ global error handler-এ সেটা থেকে user-friendly Bangla message বানাই।

Error shape

fetchBaseQuery errorts
ts
// HTTP error
{
  status: 404,
  data: { message: "Not found" },
}

// network error
{
  status: "FETCH_ERROR",
  error: "TypeError: Failed to fetch",
}

// timeout / parse error
{ status: "TIMEOUT_ERROR" }

Global handler

listener দিয়ে toasttsx
tsx
startAppListening({
  matcher: isAnyOf(
    ordersApi.endpoints.createOrder.matchRejected,
    ordersApi.endpoints.getOrders.matchRejected,
  ),
  effect: async (action) => {
    const error = action.payload;
    const message =
      typeof error?.data?.message === "string"
        ? error.data.message
        : "কিছু ভুল হয়েছে, আবার চেষ্টা করুন";
    toast.error(message);
  },
});

fetchBaseQuery-এ transform

Global refetch retryts
ts
baseQuery: fetchBaseQuery({
  baseUrl: "https://api.example.com/",
  // 401 হলে logout ইত্যাদি
  prepareHeaders: (headers, { getState }) => {
    const token = (getState() as RootState).auth.token;
    if (token) headers.set("Authorization", "Bearer " + token);
    return headers;
  },
}),
Error কখনো raw দেখান

error.status + raw data user-কে দেখবেন না — সুস্পষ্ট message + recovery (retry/back) দরকার। dev-এ DevTools-এ full inspect।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরcreateListenerMiddleware — Side EffectsপরেরLoading States — Skeleton ও UI
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com