उपयोग नहीं कर सकते घटक के रूप में उपयोग करेंRefDidUpdate प्रतिस्थापन

Nov 27 2020

त्रुटि

बिना पढ़ा हुआ टाइपरोर: ऑब्जेक्ट (...) एक फ़ंक्शन नहीं है

import { useSelector, useDispatch, useRef } from 'react-redux'

const mounted = useRef();

    useEffect(() => {
        console.log('mounted', mounted)
        console.log('useEffect props:', props)

मेरे पास एक कार्यात्मक घटक है और घटक का उपयोग करने के लिए हुक का लाभ उठाने की कोशिश कर रहा हूं, अपने ऑनसमैट फंक्शन में मैं कॉल और एपीआई के लिए एक डिस्पैच को आग लगाता हूं, और मुझे यह देखने की आवश्यकता है कि उस एपीआई का परिणामी पेलोड क्या है, जो Redux में संग्रहीत है। लेकिन मैं ऊपर त्रुटि है?

मुझे यह उत्तर मिला, जिसमें कहा गया था कि रिएक्ट हुक का उपयोग करते हुए कंपोनेंटड्यूपडेट के लिए यूजफेयर इक्विपमेंट का उपयोग करें

जवाब

2 GlenCarpenter Nov 27 2020 at 15:53

आपको अपने रेफरी का उपयोग करना चाहिए mounted.current। चूंकि आप इसे एक मूल्य नहीं मान रहे हैं, इसलिए यह वापस आ जाएगा undefined

यदि आप एक JSX तत्व को अपना रेफरी दे रहे हैं, तो आप इसे तब तक एक्सेस नहीं कर पाएंगे जब तक DOM लोड नहीं हो जाता। उस मामले में, मैं useLayoutEffectहुक का उपयोग करने का सुझाव दूंगा, क्योंकि यह तब तक नहीं चलेगा जब तक कि डोम लोड न हो जाए।

2 OrAssayag Nov 27 2020 at 15:52

useRef एक रिएक्ट हुक है। में बदलो:

import React, { useRef } from 'react';
import { useSelector, useDispatch } from 'react-redux';