[英]How to get Form submit value in react-redux with rails backend?
[英]How to capture form input with react-redux
我已经阅读了一些关于此问题的stackoverflow答案,而我看到的答案要么需要使用另一个模块(反应形式),要么看起来很笨拙而且过于复杂。
以下代码的目标是简单地将表单的输入捕获为e.target.value
并将信息记录到控制台。 问题是e.target.value
返回未定义,我不知道为什么,也不知道使用react-redux捕获表单输入的推荐方法。 我想知道不使用第三方模块即可执行此操作的推荐方法。
import React, { Component } from 'react';
import { connect } from 'react-redux';
class Form extends Component {
constructor(props){
super(props)
this.state = {
data: ""
}
this.handleChange = this.handleChange.bind(this)
}
handleChange(e){
this.setState({
data: e.target.value
})
}
render() {
return (
<div>
<form onSubmit={this.props.togglePlayAction}>
<input type="text" value = {this.state.data} onChange={this.handleChange}/>
<input type="submit"/>
</form>
</div>
);
}
}
const mapDispatchToProps = (dispatch) => {
return {
togglePlayAction:(e)=>{
e.preventDefault()
console.log(e.target); // form is output
console.log(e.target.value); // undefined
}
}
}
export default connect(mapDispatchToProps)(Form);
handleChange(e){
this.setState({
data: e.target.value
})
}
this.set.state是异步的。 这是行不通的。 因为异步功能不会立即运行。 所以你应该这样处理:
handleChange = e => {
const note = e.target.value; //name what ever u want
this.setState(() => ({ date:note }));
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.