React.js में कोणीय के $ घड़ी फ़ंक्शन के बराबर क्या है ?
मैं राज्य परिवर्तन सुनना चाहता हूं और getSearchResults () जैसे फ़ंक्शन को कॉल करना चाहता हूं।
componentDidMount: function() {
this.getSearchResults();
}
React.js में कोणीय के $ घड़ी फ़ंक्शन के बराबर क्या है ?
मैं राज्य परिवर्तन सुनना चाहता हूं और getSearchResults () जैसे फ़ंक्शन को कॉल करना चाहता हूं।
componentDidMount: function() {
this.getSearchResults();
}
जवाबों:
मैंने कोणीय का उपयोग नहीं किया है, लेकिन ऊपर दिए गए लिंक को पढ़ते हुए, ऐसा लगता है कि आप किसी ऐसी चीज़ के लिए कोड करने की कोशिश कर रहे हैं जिसे आपको संभालने की आवश्यकता नहीं है। आप अपने रिएक्ट कंपोनेंट पदानुक्रम में स्टेट्स में बदलाव करते हैं (इसके माध्यम से .सेटस्टैट ()) और रिएक्ट के कारण आपके कंपोनेंट को फिर से रेंडर (प्रभावी रूप से बदलाव के लिए 'सुनना') होगा। यदि आप अपने पदानुक्रम में किसी अन्य घटक से 'सुनना' चाहते हैं तो आपके पास दो विकल्प हैं:
राज्य बदलने पर निम्नलिखित जीवनचक्र विधियों को बुलाया जाएगा। यदि कुछ सार्थक बदल गया है, तो यह निर्धारित करने के लिए आप दिए गए तर्कों और वर्तमान स्थिति का उपयोग कर सकते हैं।
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentDidUpdate
प्रोप के साथ घटक में जोड़ना सही तरीका था, तो उसे ट्रिगर करने की आवश्यकता थी। इसके लिए धन्यवाद।
componentWillUpdate
पदावनत किया जा रहा है: reactjs.org/blog/2018/03/27/update-on-async-rendering.html
componentDidUpdate
नए प्रॉप्स प्राप्त करने पर भी आग नहीं लगेगी , जरूरी नहीं कि जब राज्य बदल जाए?
componentWillUpdate
पदावनत किया गया है।
मुझे लगता है कि आपको घटक जीवनचक्र के नीचे का उपयोग करना चाहिए जैसे कि यदि आपके पास एक इनपुट प्रॉपर्टी है जिसे अपडेट करने के लिए आपके घटक अपडेट को ट्रिगर करने की आवश्यकता है तो यह इसे करने के लिए सबसे अच्छी जगह है क्योंकि इसे रेंडर करने से पहले आपको कॉल किया जाएगा यहां तक कि आप अपडेट करने के लिए घटक राज्य भी कर सकते हैं दृश्य पर प्रतिबिंबित।
componentWillReceiveProps: function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
}
2019 में रिएक्ट 16.8 के साथ useState और useEffect हुक के साथ, निम्नलिखित अब समान हैं (सरल मामलों में):
AngularJS:
$scope.name = 'misko'
$scope.$watch('name', getSearchResults)
<input ng-model="name" />
प्रतिक्रिया:
const [name, setName] = useState('misko')
useEffect(getSearchResults, [name])
<input value={name} onChange={e => setName(e.target.value)} />
ऊपर वर्णित के रूप में उपयोग के साथ useState का उपयोग करना बिल्कुल सही तरीका है। लेकिन अगर getSearchResults फ़ंक्शन की सदस्यता वापस लेता है, तो उपयोग को एक फ़ंक्शन वापस करना चाहिए जो सदस्यता को सदस्यता रद्द करने के लिए जिम्मेदार होगा। उपयोग से लौटा हुआ फ़ंक्शन निर्भरता के प्रत्येक परिवर्तन (उपरोक्त मामले में नाम) और घटक को नष्ट करने से पहले चलेगा
यह भविष्य में संदर्भ के लिए एक समय हो गया है: विधि shouldComponentUpdate () का उपयोग किया जा सकता है।
प्रॉप्स या स्थिति में बदलाव के कारण अपडेट हो सकता है। इन तरीकों को निम्नलिखित क्रम में कहा जाता है जब एक घटक को फिर से प्रस्तुत किया जा रहा है:
static getDerivedStateFromProps()
shouldComponentUpdate()
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
shouldComponentUpdate
ताकि यह इस उपयोग के मामले के लिए उपयुक्त न हो।