प्राप्त करते समय राज्य अपडेट नहीं हो रहा है मैं प्रतिक्रिया के लिए नया हूं। मैं इस पर अटक गया हूं, वास्तव में कुछ मदद की सराहना करता हूं!नया प्रोप (ReactJS)
एक मूल घटक इस बच्चे के घटक में एक सरणी पास करेगा। जब मैं console.log (this.props.repairs) यह मुझे 4 की एक सरणी दिखाता है। मैं इस .state.sortedDataList को अद्यतन करने का प्रयास कर रहा हूं जब भी मरम्मत की सरणी पास हो जाती है। Console.log (this.state) अभी भी है एक खाली सरणी के रूप में sortedDataList दिखा रहा है।
मैं क्या गलत कर रहा हूं? बहुत बहुत धन्यवाद, किसी भी मदद की सराहना करते हैं।
class Repairs extends React.Component {
constructor(props) {
super(props);
this.state = {
sortedDataList: []
};
}
componentWillReceiveProps(nextProps) {
if(this.props != nextProps) {
this.setState({
sortedDataList: this.props.repairs
});
}
}
render() {
console.log(this.props);
console.log(this.state);
return (
<div></div>
);
}
}
जयसे 444 और शुभम से उत्तर सही हैं। मैं जोड़ूंगा कि आपको वास्तव में यह निर्धारित करना चाहिए कि आपको पृष्ठ पर जो दिखाना है, उसका प्रतिनिधित्व करने के लिए राज्य की आवश्यकता है या यदि आप सख्ती से प्रोप का उपयोग कर सकते हैं। 'शुद्ध' कार्यात्मक प्रतिक्रिया घटक (घटक जो केवल प्रोप में है के आधार पर प्रस्तुत करते हैं) हमेशा एक अच्छा लक्ष्य है। –
आप राज्य के लिए प्रोप क्यों सेट कर रहे हैं? यह आपके लिए क्या अच्छा करता है? अब आपके पास राज्य के साथ-साथ प्रोप में संग्रहीत एक ही डेटा की छाया है। उस प्रोप को जोड़ने के लिए अपरिवर्तनीय अर्थ माना जाता है, जिसे आप नहीं बदलते और उन्हें नहीं बदलना चाहिए। इस तरह के राज्य के लिए प्रोप सेट करना अब आपके अपरिवर्तनीय डेटा को परिवर्तनीय बना रहा है, जो एक विरोधी पैटर्न है और यह कोई बड़ा नंबर नहीं है। अधिक जानने के लिए इसे पढ़ें http://stackoverflow.com/a/28785276/2733506 –