Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • TanStack Documentation42টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Project Overview
  • Architecture
  • Folder Structure
  • Setup Next.js
  • Axios Setup
  • API Client
  • API Types
  • Query Install
  • Query Provider
  • Query Keys
  • Data Fetching
  • States
  • Devtools
  • Create Mutation
  • Update Mutation
  • Delete Mutation
  • Cache Invalidation
  • Optimistic Update
  • Pagination
  • Search
  • Filtering
  • Sorting
  • TanStack Table
  • Table Explore
  • Table Columns
  • Table Actions
  • React Hook Form
  • Zod Validation
  • Create Form
  • Edit Form
  • Dialog Modal
  • Delete Confirmation
  • Complete CRUD Flow
  • Full Integration
  • Error Handling
  • Loading States
  • Reusable Components
  • Production
  • Complete Project
  • Common Mistakes
  • Best Practices
  • Interview Q&A
  1. Docs
  2. TanStack
  3. QueryClientProvider সেটআপ
TanStackBeginner

QueryClientProvider সেটআপ

App-এ tanstack Query provider যুক্ত করা — client component ও root layout — বাংলায়।

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

QueryClient-কে পুরো app-এ পৌঁছে দিতে QueryClientProvider দিয়ে ঘিরে দিতে হয়। Next.js App Router-এ provider অবশ্যই client component হতে হবে — তাই আলাদা providers.tsx বানাব।

src/app/providers.tsx (client)tsx
tsx
"use client";

import { QueryClientProvider } from "@tanstack/react-query";
import { queryClient } from "@/lib/query-client";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";

export function Providers({ children }: { children: React.ReactNode }) {
  return (
    <QueryClientProvider client={queryClient}>
      {children}
      <ReactQueryDevtools initialIsOpen={false} />
    </QueryClientProvider>
  );
}

Root layout-এ যোগ

src/app/layout.tsxtsx
tsx
import { Providers } from "./providers";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

কেন client component

QueryClientProvider-এর ভেতরে React context, hooks, state ব্যবহার হয় — এসব Server Component-এ চলতে পারে না। তাই "use client" লাগে। তবে যুক্ত করার এটাই একমাত্র প্রভাব — বাচ্চারা Server Components-ই থাকতে পারে।

src/lib/query-client.tsts
ts
import { QueryClient } from "@tanstack/react-query";

// important: মডিউল লেভেলে এক instance export
export const queryClient = new QueryClient({
  defaultOptions: {
    queries: { staleTime: 60_000, retry: 1 },
    mutations: { retry: 0 },
  },
});
প্রতি render-এ নতুন QueryClient না

কখনো component body-তে new QueryClient() লিখবেন না — প্রতি render-এ cache ভরে যাবে ও refetch বারবার হবে। মডিউল-লেভেল singleton বা useState(() => new QueryClient()) — দুইটাই চলবে; আমরা singleton নিলাম।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরTanStack Query Installation ও SetupপরেরQuery Keys — Cache-র ঠিকানা
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com