मैं reactjs दस्तावेज के अनुभाग पढ़ रहा हूं और onChange
उपयोग (JSBIN) का प्रदर्शन करने के लिए बस इस कोड को आजमाया।क्यों प्रतिक्रिया सेट कॉल करना स्टेटस विधि तुरंत राज्य को म्यूट नहीं करता है?
var React= require('react');
var ControlledForm= React.createClass({
getInitialState: function() {
return {
value: "initial value"
};
},
handleChange: function(event) {
console.log(this.state.value);
this.setState({value: event.target.value});
console.log(this.state.value);
},
render: function() {
return (
<input type="text" value={this.state.value} onChange={this.handleChange}/>
);
}
});
React.render(
<ControlledForm/>,
document.getElementById('mount')
);
जब मैं ब्राउज़र में <input/>
मान अपडेट करें, दूसरे console.log
handleChange
कॉलबैक प्रिंट एक ही value
पहले console.log
, मैं क्यों this.setState({value: event.target.value})
का परिणाम handleChange
कॉलबैक के दायरे में नहीं देख सकते हैं अंदर?
अच्छा जवाब। मुझे जो अवलोकन करना है वह वैल्यूलिंक का उपयोग करने के लिए सावधान रहना है। यदि आपको इनपुट को प्रारूपित/मास्क करने की आवश्यकता नहीं है तो यह अच्छा काम करता है। – Dherik
बिल्कुल सही। किसी भी तरह से मैं पूरी तरह से चूक गया था एक कॉलबैक तर्क था। –
आप 'घटकDidUpdate' को भी देखना चाहेंगे। राज्य बदल जाने के बाद इसे बुलाया जाएगा। – Keysox