![](/img/trans.png)
[英]React not updating data on parent component after child component form submit
[英]Try to get form data after submit in a React child component but empty screen
我有一個子組件是一個組件形式的問題。 我想將表單數據傳遞給我的父組件,然后進行Ajax調用。
這是我的父組件
import React, { Component } from 'react';
import { render } from 'react-dom';
import CustomerForm from './customerForm';
import styles from './scss/application.scss';
class App extends React.Component {
constructor() {
super();
this._handleSubmit = this._handleSubmit.bind(this);
}
_handleSubmit(customer) {
alert(customer);
//AJAX
}
render() {
return (
<CustomerForm
handleSubmit={this._handleSubmit}
/>
</section>
);
}
}
render(
<App />,
document.getElementById('root')
);
然后這是CustomerForm我包括的子組件形式:
import React, { Component } from 'react';
class CustomerForm extends Component {
constructor(props) {
super(props);
}
_onSubmit(e) {
e.preventDefault();
var name = this._name.value.trim();
if (!name) {
return;
}
this.props.handleSubmit({name: name, identifier: identifier, cost: cost});
}
render() {
return (
<form onSubmit={this._handleSubmit}>
Name <br/> <input id="name" type="text" name="name"
value={this.state.name}
ref={(input) => this._name = input}/><br/>
<input type="submit" value="Create"/>
</form>
);
}
}
export default CustomerForm
實際上,我的屏幕是空的,我在Web瀏覽器的Web檢查器中看不到任何錯誤消息,問題出在子組件上。 當我刪除父組件時,一切正常。
任何想法? 勞倫斯(Thx Laurent)
您在提交表單時出錯,將<form onSubmit={this._handleSubmit}>
更改為<form onSubmit={this._onSubmit}>
。
return (
<form onSubmit={this._onSubmit}>
Name <br/>
<input id="name" type="text" name="name"
value={this.state.name}
ref={(input) => this._name = input}/><br/>
<input type="submit" value="Create"/>
</form>
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.