⊗jsrtPmHkUTr 17 of 47 menu

রিয়েক্টে হুক অপ্টিমাইজেশন পারফরম্যান্স useTransition

পারফরম্যান্স অপ্টিমাইজেশন হুক useTransition আমাদেরকে গ্রাফিক্যাল ইন্টারফেস ব্লক না করেই স্টেট আপডেট করতে দেয়।

এই হুকের সাহায্যে আমরা কোনও স্টেটের আপডেটকে কম অগ্রাধিকার দিতে পারি, যা অন্যান্য স্টেটের আপডেটকে উচ্চ অগ্রাধিকার পেতে এবং বিলম্ব ছাড়াই কার্যকর হতে দেয়।

একটি উদাহরণ হিসাবে, ব্যবহারকারীর সার্চ ফিল্ডে অক্ষর প্রবেশ করানোর সময় পণ্যের ড্রপ-ডাউন তালিকা ফিল্টার করা উল্লেখ করা যেতে পারে। অবশ্যই, তালিকাটি কিছু বিলম্ব সহ প্রদর্শিত হতে পারে, তবে আমরা চাই না যে সার্চ ফিল্ডে অক্ষরগুলি বিলম্ব সহ প্রবেশ করানো হোক।

আসুন দেখি কিভাবে এই ধরনের ক্ষেত্রে হুক useTransition আমাদের সাহায্য করতে পারে। ধরুন, আমাদের কাছে প্রধান কম্পোনেন্টের একটি কোড খণ্ড আছে। আসুন এটি বিশ্লেষণ করি:

import { useTransition } from 'react'; import { useState } from 'react'; function App() { const [isPending, startTransition] = useTransition(); const [filterTerm, setFilterTerm] = useState(''); const filteredProducts = filterProducts(filterTerm); function updateFilterHandler(event) { startTransition(() => { setFilterTerm(event.target.value); }); } return ( <div> <input type="text" onChange={updateFilterHandler} /> <ProductList products={filteredProducts} /> </div> ); }

এখানে আমরা useTransition-এর জন্য দুটি ভেরিয়েবল দেখতে পাই। isPending ভেরিয়েবলটি একটি বুলিয়ান মান ধারণ করে এবং দেখায় যে আপডেট প্রক্রিয়া শেষ হয়েছে কিনা, এবং startTransition ফাংশনটি যা আপডেটের অগ্রাধিকার কমাতে দেয়:

const [isPending, startTransition] = useTransition();

আমাদের কাছে আরও আছে filterTerm স্টেট, যাতে ইনপুট ফিল্ডে প্রবেশ করানো অভিব্যক্তি সংরক্ষিত থাকে এবং setFilterTerm ফাংশনটি এটি সেট করার জন্য:

const [filterTerm, setFilterTerm] = useState('');

ইনপুটে অক্ষর প্রবেশ করানোর সময় আমাদের প্রতিবার updateFilterHandler ফাংশনটি কল হয়, যেখানে filterTerm-এর আপডেট ঘটে। এখানেই আমরা আমাদের useTransition হুক প্রয়োগ করি, setFilterTerm সেটার ফাংশনটিকে startTransition-এ নিম্নরূপে মোড়ক করে:

function updateFilterHandler(event) { startTransition(() => { setFilterTerm(event.target.value); }); }

এইভাবে, আমরা filterTerm স্টেট আপডেট করার জন্য কম অগ্রাধিকার নির্ধারণ করেছি এবং আমাদের ইনপুট ফিল্ড সাড়া দিতে সক্ষম থাকবে।

isPending ভেরিয়েবলের সাহায্যে আমরা ব্যবহারকারীকে দেখাতে পারি যে তালিকা আপডেট এখনও প্রক্রিয়াধীন রয়েছে। তালিকা আপডেট হওয়া পর্যন্ত ইনপুট ফিল্ডের নিচে এই তথ্যটি প্রদর্শন করি:

return ( <div> <input type="text" onChange={updateFilterHandler} /> {isPending && <p>আপডেট হচ্ছে ...</p>} <ProductList products={filteredProducts} /> </div> );
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন