में बाल घटकों से मूल्य कैसे प्राप्त करें, इसलिए मैं अभी प्रतिक्रिया का उपयोग करना शुरू कर रहा हूं और मुझे बाल घटक के भीतर इनपुट के इनपुट मान एकत्र करने में परेशानी हो रही है। असल में, मैं एक बड़े रूप के लिए अलग-अलग घटक बना रहा हूं, फिर मैं घटक बना रहा हूं, मैं किसी ऑब्जेक्ट में बच्चों के इनपुट के सभी मूल्य एकत्र करना चाहता हूं, मैं डेटा कॉल कर रहा हूं, और उसके बाद उस एकत्रित इनपुट को POST में भेजना चाहता हूं AJAX अनुरोध (आप मेरे द्वारा बनाए गए अंतिम घटक में एक उदाहरण देख सकते हैं)। जब मैं घटकों के अंदर हूं, तो मैं आसानी से मूल्यों को खींच सकता हूं, लेकिन उन्हें मूल घटक से खींच रहा हूं, मुझे पता नहीं चला है।प्रतिक्रिया
अग्रिम धन्यवाद। प्रतिक्रिया के साथ अभी पीड़ा से गुज़रना, इसलिए इस बेहतर तरीके से संरचना करने के तरीके पर कोई भी सिफारिशें, मैं सभी कान हूं!
यहाँ मेरी घटक हैं:
घटक एक
var StepOne = React.createClass({
getInitialState: function() {
return {title: '', address: '', location: ''};
},
titleChange: function(e) {
this.setState({title: e.target.value});
},
addressChange: function(e) {
this.setState({address: e.target.value});
},
locationChange: function(e) {
this.setState({location: e.target.value});
},
render: function() {
return (
<div className="stepOne">
<ul>
<li>
<label>Title</label>
<input type="text" value={this.state.title} onChange={this.titleChange} />
</li>
<li>
<label>Address</label>
<input type="text" value={this.state.address} onChange={this.addressChange} />
</li>
<li>
<label>Location</label>
<input id="location" type="text" value={this.state.location} onChange={this.locationChange} />
</li>
</ul>
</div>
);
}, // render
}); // end of component
घटक दो
var StepTwo = React.createClass({
getInitialState: function() {
return {name: '', quantity: '', price: ''}
},
nameChange: function(e) {
this.setState({name: e.target.value});
},
quantityChange: function(e) {
this.setState({quantity: e.target.value});
},
priceChange: function(e) {
this.setState({price: e.target.value});
},
render: function() {
return (
<div>
<div className="name-section">
<div className="add">
<ul>
<li>
<label>Ticket Name</label>
<input id="name" type="text" value={this.state.ticket_name} onChange={this.nameChange} />
</li>
<li>
<label>Quantity Available</label>
<input id="quantity" type="number" value={this.state.quantity} onChange={this.quantityChange} />
</li>
<li>
<label>Price</label>
<input id="price" type="number" value={this.state.price} onChange={this.priceChange} />
</li>
</ul>
</div>
</div>
</div>
);
}
});
अंतिम घटक डेटा ajax अनुरोध को इकट्ठा करने और
EventCreation = React.createClass({
getInitialState: function(){
return {}
},
submit: function (e){
var self
e.preventDefault()
self = this
var data = {
// I want to be able to collect the values into this object then send it in the ajax request. I thought this sort of thing would work below:
title: this.state.title,
}
// Submit form via jQuery/AJAX
$.ajax({
type: 'POST',
url: '/some/url',
data: data
})
.done(function(data) {
self.clearForm()
})
.fail(function(jqXhr) {
console.log('failed to register');
});
},
render: function() {
return(
<form>
<StepOne />
<StepTwo />
// submit button here
</form>
);
}
});
मैंने पहले इसका उपयोग करने की कोशिश की लेकिन जब मैं डेटा के मूल्य को आजमाता और कंसोल करता हूं, तो मुझे हमेशा 'मान परिभाषित नहीं किया जाता है' त्रुटि मिलती है। कोई विचार क्यों ऐसा होगा? – luke
@luke क्या आप jsfiddled कोड आज़मा सकते हैं? – Zakaria