Reactjs 使用onSubmit设置多个输入的状态?
我想从表单中的这两个输入获取数据,并将其中一个设置为state.name,另一个设置为state.option。有没有一种方法可以在使用表单提交按钮而不是使用单个onChange处理程序来设置这些状态时设置它们?如果不是的话,如果有一个submit按钮实际上什么都不做,那就很尴尬了Reactjs 使用onSubmit设置多个输入的状态?,reactjs,Reactjs,我想从表单中的这两个输入获取数据,并将其中一个设置为state.name,另一个设置为state.option。有没有一种方法可以在使用表单提交按钮而不是使用单个onChange处理程序来设置这些状态时设置它们?如果不是的话,如果有一个submit按钮实际上什么都不做,那就很尴尬了 onTextChange(name) { this.setState({ name }); console.log(this.state.name
onTextChange(name) {
this.setState({ name });
console.log(this.state.name);
}
onOptionChange(option) {
this.setState({ realm });
console.log(this.state.option);
}
onSubmitForm(event) {
event.preventDefault();
}
render() {
return (
<div>
<h3>Enter Name:</h3>
<form onSubmit={event => this.onSubmitForm(event.target.value)}>
<input
type="text"
placeholder="Name"
value={this.state.name}
onChange={event => this.onTextChange(event.target.value)}
/>
Select Option:
<select onChange = {event => this.onOptionChange(event.target.value)}>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
<input type="submit" />
</form>
在React中,您必须在状态中控制表单/输入中发生的事情,并设置状态以更改它。这是我的电话
欢迎回复:然后放下提交按钮。简而言之,你不应该这样做。很长的一个问题是,如果有一种方法可以从提交事件中获取输入值,那么它将非常麻烦和脆弱,并且您必须分离该事件,如果您更新react并更改其内部表示形式,这可能会破坏您的应用程序。我的建议是采用简单的解决方案并使用onChange处理程序,这可以保证您的状态是一致的和可预测的,这是reactGood-know这样的框架的主要优点。因此,我将使用输入作为父函数中API请求的参数。这样会不会太草率?或者在两个输入都被选中之前,它是否可以进行一些错误处理,比如加载条。我不确定你的意思。通常,您要做的是使用onSubmit处理程序发送请求,并从状态中存储的数据中获取所需的参数。在那里,您可以在发送请求之前检查错误。您也可以这样做。在触发请求之前,设置状态{loading:true},并相应地呈现加载程序。单个onChange处理程序让您有机会验证每个输入,因为它是change。我明白您的意思。因此,在onSubmit函数中,我将在使用这些子组件状态块作为参数的父组件中运行我的函数。