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. Delete Mutation
TanStackIntermediate

Delete Mutation

DELETE request, confirmation dialog ও cache update — বাংলায়।

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

Delete-এ প্রধান কথা — দুর্ঘটনা আটকানো (confirmation) আর cache থেকে সরানো। দেখি সহজ ও দ্ব্যর্থক-মুক্ত delete mutation।

use-product-mutations.ts (add)ts
ts
export function useDeleteProduct() {
  const queryClient = useQueryClient();

  return useMutation({
    mutationFn: (id: string) => deleteProduct(id),

    onSuccess: () => {
      queryClient.invalidateQueries({ queryKey: productKeys.all });
      toast.success("Product মুছে ফেলা হয়েছে");
    },

    onError: (error) => toast.error(error.message),
  });
}

Confirm dialog-এ delete

Delete hook ব্যবহারtsx
tsx
const deleteProduct = useDeleteProduct();

function confirmDelete() {
  deleteProduct.mutate(product.id, {
    onSuccess: () => {
      setOpen(false);        // alert dialog বন্ধ
    },
  });
}

// alert-dialog-এর confirm button
<Button
  variant="destructive"
  disabled={deleteProduct.isPending}
  onClick={confirmDelete}
>
  {deleteProduct.isPending ? "মুছে ফেলা হচ্ছে…" : "Delete"}
</Button>

নোট: delete-এর পরে

  • সব variant invalidate করলে ফিল্টার/পেজ যাই থাকুক cache সঠিক থাকে
  • optimistic delete চাইলে পরের অধ্যায়ে দেখব
  • DELETE-এর response-এ সাধারণত body থাকে না — deleteProduct returns void
সবসময় confirm

Delete-কমন action — confirm dialog ছাড়া কখনো দিরে instant delete button দেবেন না, বিশেষত production dashboard-এ। পরের অধ্যায়ে পুরো delete-confirmation dialog বানাব।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরUpdate Mutation — Edit ProductপরেরCache Invalidation
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com