DEV Community

Cover image for TanStack Query: আধুনিক ওয়েব অ্যাপে ডাটা ফেচিংয়ের নতুন দিগন্ত
Md Nazmus Sakib
Md Nazmus Sakib

Posted on

TanStack Query: আধুনিক ওয়েব অ্যাপে ডাটা ফেচিংয়ের নতুন দিগন্ত

TanStack Query (আগে React Query নামে পরিচিত) হল একটি শক্তিশালী লাইব্রেরি, যা মূলত React, Vue এবং SolidJS-এর জন্য ডাটা ফেচিং, ক্যাশিং, সিঙ্ক্রোনাইজেশন এবং আপডেট ম্যানেজ করতে ব্যবহৃত হয়। এটি আধুনিক ওয়েব অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করে এবং ডেভেলপারদের জন্য ডাটা-ম্যানেজমেন্ট সহজ করে তোলে।


TanStack Query কেন গুরুত্বপূর্ণ?

ওয়েব অ্যাপে API কল করা একটি সাধারণ কাজ হলেও, সঠিকভাবে হ্যান্ডেল না করলে পারফরম্যান্স সমস্যা, অতিরিক্ত রি-রেন্ডারিং, অপ্রয়োজনীয় API কল ইত্যাদির কারণে অ্যাপ ধীরগতির হয়ে যেতে পারে। TanStack Query এই সমস্যাগুলো সমাধান করতে পারে নিচের সুবিধাগুলোর মাধ্যমে:

  • অটোমেটেড ক্যাশিং: একবার ফেচ করা ডাটা ক্যাশে রেখে বারবার একই অনুরোধ পাঠানো থেকে বিরত রাখে।
  • ক্লেভার রিফেচিং: যখনই প্রয়োজন, ডাটা অটোমেটিক্যালি রিফ্রেশ হয়।
  • ব্যাকগ্রাউন্ড সিঙ্ক: ডাটা ব্যাকগ্রাউন্ডে আপডেট হতে পারে, ব্যবহারকারীর ইন্টারঅ্যাকশন ব্যাহত না করেই।
  • সার্ভার স্টেট ম্যানেজমেন্ট: Redux বা Context API ছাড়াই সহজেই সার্ভার স্টেট ম্যানেজ করা যায়।
  • অপ্টিমিস্টিক আপডেট: ইউজার ইন্টারফেসে তাৎক্ষণিক পরিবর্তন দেখিয়ে পরবর্তীতে API রেসপন্স অনুযায়ী তা এডজাস্ট করা হয়।

বাস্তব জীবনের উদাহরণ

১. ই-কমার্স ওয়েবসাইট:

ধরো, একটি ই-কমার্স ওয়েবসাইটে পণ্য তালিকা দেখানোর জন্য একটি API কল করতে হবে। যদি ব্যবহারকারী বারবার একই পেজে যায়, তাহলে প্রতিবার নতুন করে API রিকোয়েস্ট পাঠানোর দরকার নেই। TanStack Query ক্যাশিং ব্যবহার করে দ্রুত একই ডাটা রেন্ডার করতে পারে, ফলে লোডিং টাইম কমে যায় এবং ইউজার এক্সপেরিয়েন্স ভালো হয়।

২. সোশ্যাল মিডিয়া নিউজফিড:

সোশ্যাল মিডিয়া প্ল্যাটফর্মে, TanStack Query ব্যাকগ্রাউন্ড ফেচিং ব্যবহার করে নতুন পোস্ট স্বয়ংক্রিয়ভাবে ফেচ করতে পারে, যাতে ইউজার রিফ্রেশ বাটন ক্লিক না করেও নতুন কনটেন্ট পেতে পারে।

৩. লাইভ স্টক মার্কেট অ্যাপ:

স্টক মার্কেটের রিয়েল-টাইম আপডেট দেখাতে হলে প্রতিটি টিকারের ডাটা দ্রুত আপডেট করতে হবে। TanStack Query নির্দিষ্ট সময় পর পর ডাটা রিফেচ করে নতুন তথ্য দেখাতে পারে, ফলে ব্যবহারকারী সর্বশেষ আপডেট পেতে পারে।


TanStack Query কিভাবে কাজ করে?

TanStack Query ব্যবহার করতে গেলে সাধারণত তিনটি মূল হুক ব্যবহৃত হয়:

  1. useQuery – ডাটা ফেচ করা এবং ক্যাশ ম্যানেজ করার জন্য।
  2. useMutation – নতুন ডাটা যুক্ত করা বা আপডেট করার জন্য।
  3. QueryClientProvider – পুরো অ্যাপে TanStack Query ব্যবহারের জন্য একটি কনটেক্সট প্রদান করে।

একটি সহজ উদাহরণ দেখা যাক, যেখানে API থেকে ডাটা ফেচ করা হচ্ছে:

import { useQuery } from '@tanstack/react-query'

const fetchPosts = async () => {
  const res = await fetch('https://jsonplaceholder.typicode.com/posts')
  return res.json()
}

const Posts = () => {
  const { data, isLoading, error } = useQuery({
    queryKey: ['posts'],
    queryFn: fetchPosts,
  })

  if (isLoading) return <p>Loading...</p>
  if (error) return <p>Error fetching posts</p>

  return (
    <ul>
      {data.map(post => (
        <li key={post.id}>{post.title}</li>
      ))}
    </ul>
  )
}
Enter fullscreen mode Exit fullscreen mode

এখানে useQuery হুকটি API থেকে ডাটা ফেচ করছে, ক্যাশিং করছে এবং লোডিং ও এরর স্টেট ম্যানেজ করছে।


TanStack Query ডাটা ফেচিং ও স্টেট ম্যানেজমেন্টকে সহজ করে তুলেছে, যা আধুনিক ওয়েব অ্যাপগুলোর পারফরম্যান্স উন্নত করতে গুরুত্বপূর্ণ ভূমিকা রাখে। যদি তুমি React, Vue বা SolidJS-এ কাজ করো এবং ডাটা ফেচিং-সংক্রান্ত সমস্যায় পড়ো, তাহলে TanStack Query একটি দারুণ সমাধান হতে পারে।

এই প্রযুক্তির সঠিক ব্যবহার করলে ডাটা-ম্যানেজমেন্ট সহজ হবে, অ্যাপের স্পিড বাড়বে এবং ব্যবহারকারীর অভিজ্ঞতা আরও উন্নত হবে।

Top comments (0)