मैंने प्रतिक्रिया-रेडक्स का उपयोग करके एक साधारण टेक्स्ट फ़ील्ड घटक बनाया है।टेक्स्ट इनपुट बनाने का सबसे अच्छा तरीका रेडक्स
यह एक गूंगा घटक है, इसलिए इसे परिवर्तन भेजने के लिए कॉल बैक फ़ंक्शन प्राप्त होता है।
इसलिए प्रत्येक परिवर्तन पर यह स्थानीय स्थिति बदलता है और ब्लर पर कॉल कॉल फ़ंक्शन को कॉल करता है।
मुझे लगता है कि मैं इस तरह के एक साधारण काम के लिए बहुत कुछ कर रहा हूं, यह एक ओवरकिल की तरह दिखता है, क्या इसे लागू करने के लिए बेहतर/छोटा तरीका है?
export default class CreativeName extends Component {
constructor(props) {
super(props);
this.state = {
creativeName: props.creativeName
};
}
componentWillReceiveProps(nextProps) {
this.setState({
creativeName: nextProps.creativeName
});
}
onBlur() {
this.props.updateDraft('creativeName', this.state.creativeName);
}
onChange(e) {`enter code here`
this.setState({creativeName: e.target.value});
}
render() {
return (
<Row>
<Col lg={12} className="row-margin">
<ControlLabel>*Name</ControlLabel>
<div className="campaign-name">
<FormControl value={this.state.creativeName} type="text" onChange={(e) => this.onChange(e)}
onBlur={(e) => this.onBlur(e)} className="campaign-name-text-field" />
</div>
</Col>
</Row>
);
}
}
आप डेटा पर कब्जा करने के 'onBlur' उपयोग कर सकते हैं। 'चेंज' का उपयोग करने की आवश्यकता नहीं है और यहां राज्य। तुम क्या सोचते हो? – anoop
मुझे प्रत्येक बदलाव पर अपडेट करने के लिए दायर किए गए पाठ के मूल्य की आवश्यकता है, दूसरी तरफ मैं हर बार पूरे पृष्ठ को प्रस्तुत नहीं करना चाहता हूं, इसलिए मैं घटनाओं को – user2193941
अलग करता हूं, इसलिए मैं @ प्रतिक्रिया- रेडक्स 'कनेक्ट' – anoop