रिएक्ट में डेटा को कैश करने से एक ही डेटा को कई बार लाने की आवश्यकता को कम करके प्रदर्शन और उपयोगकर्ता अनुभव में काफी सुधार हो सकता है। रिएक्ट में डेटा कैशिंग लागू करने के लिए यहां कई दृष्टिकोण दिए गए हैं:
आप ब्राउज़र के स्थानीय संग्रहण या सत्र संग्रहण में डेटा कैश कर सकते हैं:
const fetchData = async () => { const cachedData = localStorage.getItem('myData'); if (cachedData) { return JSON.parse(cachedData); } const response = await fetch('https://api.example.com/data'); const data = await response.json(); localStorage.setItem('myData', JSON.stringify(data)); return data; }; // Use it in your component useEffect(() => { const loadData = async () => { const data = await fetchData(); setData(data); }; loadData(); }, []);
आप अद्वितीय कुंजियों के आधार पर डेटा संग्रहीत करने के लिए जावास्क्रिप्ट ऑब्जेक्ट का उपयोग करके अपना स्वयं का कैशिंग तंत्र लागू कर सकते हैं:
const cache = {}; const fetchData = async (key) => { if (cache[key]) { return cache[key]; } const response = await fetch(`https://api.example.com/data/${key}`); const data = await response.json(); cache[key] = data; // Cache the data return data; }; // Use it in your component useEffect(() => { const loadData = async () => { const data = await fetchData('myKey'); setData(data); }; loadData(); }, []);
अधिक उन्नत कैशिंग के लिए, आप एपीआई प्रतिक्रियाओं को कैश करने और उन्हें सीधे कैश से परोसने के लिए सेवा कर्मियों का उपयोग कर सकते हैं।
यदि आप लाए गए डेटा से प्राप्त गणना किए गए डेटा से निपट रहे हैं, तो मानों को याद रखने के लिए यूज़मेमो का उपयोग करें:
const memoizedValue = useMemo(() => computeExpensiveValue(data), [data]);
डेटा ताजगी, जटिलता और उपयोगकर्ता अनुभव जैसे कारकों पर विचार करते हुए, वह कैशिंग रणनीति चुनें जो आपके एप्लिकेशन की आवश्यकताओं के लिए सबसे उपयुक्त हो। रिएक्ट क्वेरी जैसी लाइब्रेरी कैशिंग और डेटा फ़ेचिंग को सरल बना सकती हैं, जबकि मैन्युअल तरीके आपको अधिक नियंत्रण प्रदान करते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3