उपयोग नहीं कर सकते घटक के रूप में उपयोग करेंRefDidUpdate प्रतिस्थापन
त्रुटि
बिना पढ़ा हुआ टाइपरोर: ऑब्जेक्ट (...) एक फ़ंक्शन नहीं है
import { useSelector, useDispatch, useRef } from 'react-redux'
const mounted = useRef();
useEffect(() => {
console.log('mounted', mounted)
console.log('useEffect props:', props)
मेरे पास एक कार्यात्मक घटक है और घटक का उपयोग करने के लिए हुक का लाभ उठाने की कोशिश कर रहा हूं, अपने ऑनसमैट फंक्शन में मैं कॉल और एपीआई के लिए एक डिस्पैच को आग लगाता हूं, और मुझे यह देखने की आवश्यकता है कि उस एपीआई का परिणामी पेलोड क्या है, जो Redux में संग्रहीत है। लेकिन मैं ऊपर त्रुटि है?
मुझे यह उत्तर मिला, जिसमें कहा गया था कि रिएक्ट हुक का उपयोग करते हुए कंपोनेंटड्यूपडेट के लिए यूजफेयर इक्विपमेंट का उपयोग करें
जवाब
आपको अपने रेफरी का उपयोग करना चाहिए mounted.current
। चूंकि आप इसे एक मूल्य नहीं मान रहे हैं, इसलिए यह वापस आ जाएगा undefined
।
यदि आप एक JSX तत्व को अपना रेफरी दे रहे हैं, तो आप इसे तब तक एक्सेस नहीं कर पाएंगे जब तक DOM लोड नहीं हो जाता। उस मामले में, मैं useLayoutEffect
हुक का उपयोग करने का सुझाव दूंगा, क्योंकि यह तब तक नहीं चलेगा जब तक कि डोम लोड न हो जाए।
useRef एक रिएक्ट हुक है। में बदलो:
import React, { useRef } from 'react';
import { useSelector, useDispatch } from 'react-redux';