1
我正在學習reactjs,並且我的表單有問題。ReactJS表單呈現問題
當我重新加載我的頁面時,我的控制檯出現此錯誤profile.js:54 Uncaught TypeError: Cannot read property 'target' of undefined
。窗體不是在我的頁面中呈現,但我認爲這個代碼應該可以工作。
我的文件profile.js:
var BasicInput = React.createClass({
render: function() {
return (
<input type="text" onChange={this.props.valChange} value={ this.props.val} />
);
}
});
var BasicForm = React.createClass({
getInitialState: function(){
return {
firstName: '',
lastName: ''
};
},
submit: function (e){
var self;
e.preventDefault()
self = this;
console.log(this.state);
var data = {
firstName: this.state.firstName,
lastName: this.state.lastName
};
// Submit form via jQuery/AJAX
$.ajax({
type: 'POST',
url: '/accounts/profile/details-form',
data: data
})
.done(function(data) {
self.clearForm()
})
.fail(function(jqXhr) {
console.log('failed to change basic info');
});
},
clearForm: function() {
this.setState({
firstName: "",
lastName: ""
});
},
firstnameChange: function(e){
this.setState({firstName: e.target.value});
},
lastnameChange: function(e){
this.setState({lastName: e.target.value});
},
render: function() {
return (
<form onSubmit={this.submit}>
<div className="form-half">
<BasicInput label="Firstname" valChange={this.firstnameChange()} val={this.state.firstName}/>
</div>
<div className="form-half">
<BasicInput label="Lastname" valChange={this.lastnameChange()} val={this.state.lastName}/>
</div>
<button type="submit">Submit</button>
</form>
);
}
});
ReactDOM.render(
<BasicForm />,
document.getElementById('basicInfoForm')
);
什麼是錯誤的代碼?
非常感謝您對此問題的幫助。
喔,有什麼錯誤(從他們每個人的去除
()
)。非常感謝! – Robson