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. TanStack Query Installation ও Setup
TanStackBeginner

TanStack Query Installation ও Setup

packages install, QueryClient তৈরি ও default options — বাংলায়।

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

Previous topic-এ packages install করে রেখেছি — এবার setup করি: QueryClient বানিয়ে options ঠিক করব।

Install (যা পরে)bash
bash
npm install @tanstack/react-query @tanstack/react-query-devtools

QueryClient কী?

QueryClient হলো TanStack Query-র 'brain' — এর ভেতরে cache, fetch logic, retry, stale time-এর মতো সবকিছু থাকে। App-টি একটি একমাত্র QueryClient ব্যবহার করে, এবং তা Provider-এর মাধ্যমে React tree-কে দেয়।

Default options

QueryClient configts
ts
import { QueryClient } from "@tanstack/react-query";

export const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 60_000,        // ১ মিনিট 'fresh' থাকবে
      retry: 1,                 // ব্যর্থ হলে ১ বার retry
      refetchOnWindowFocus: false,
      gcTime: 5 * 60_000,       // ৫ মিনিট unused থাকলে GC
    },
    mutations: {
      retry: 0,                 // mutation-এ auto retry বন্ধ
    },
  },
});

Options-এর অর্থ

Optionমানে
staleTimeকতক্ষণ ডেটা fresh থাকবে — ব্যবহারকারী-প্রভাবিত refetch কমায়
retrynetwork/সার্ভার error-এ কতবার আবার চেষ্টা
refetchOnWindowFocustab-এ ফেরলে আবার fetch হবে কিনা
gcTimecache-এ unused data কতক্ষণ থাকবে
Mutation-এ retry না

mutation (create/update/delete) auto-retry না করাই ভালো — নাহলে delete double-run হয়ে duplicate/doble operation হতে পারে। তাই mutations: { retry: 0 }।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরAPI Types — TypeScript কোডের বেবাপরেরQueryClientProvider সেটআপ
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com