【发布时间】:2019-05-12 11:48:34
【问题描述】:
通常在 HTML 中你会这样做:
<form>
<input type="text"/>
<input type="text"/>
<input type="submit"/>
</form>
我相信这不是 React 的做法。
另一种方式,就像我在我的应用程序中所做的那样,并不是我认为的最佳方式。 像这样:
buttonclickRequest(){
var reasonn = document.getElementById("testControl").value;
}
<div>
<FormControl id="testControl"/>
<Button id="btnRequest" onClick={this.buttonclickRequest}/>
</div>
在其他 stackoverflow 主题中,我看到了这样的示例:
constructor(props) {
super(props);
this.state = {
firstName: '',
lastName: '',
place: '',
address: '',
email: '',
phoneNumber: ''
};
}
handleClick() {
//do something
}
handleChange = (e) => {
this.setState({
[e.target.id]: e.target.value
})
}
<div>
<input type="text" onChange={e => this.handleChange(e)}/>
<button type="submit" onClick={this.handleClick}/>
</div>
但我现在也有我的问题,
我不知道如何正确输入多个文本:
您可以制作多个效率低下的特定变更处理程序,
您可以制作一个带有开关的changehandler来设置属性
对输入字段进行句柄更改是否更有效?因为我只想要单击按钮时的输入字段值..
这就是我所说的形式。
那么当点击按钮时,如何使用 React 正确获取多个输入数据呢?
提前感谢您的帮助!
【问题讨论】:
-
为
textbox创建一个组件。它维护自己的状态并在值更改时进行回调。您的父组件可以管理所有子组件状态,因为回调将传递给文本框组件 -
如果您更改一些代码,它是高效的。每次您在输入中输入内容(箭头函数)时,您当前都在创建一个新函数。相反,您可以这样做:
<input type="text" id="username" onChange={this.handleChange} />. -
found this link 使用 setTimeout 和 Cleartimeout
标签: javascript reactjs react-native react-state-management react-state