我想将我的输入值从表单传递到handleSubmit()当前正在传递,e.target.value
并且得到一个错误不能定义的属性'value'。
以下是我要从中获取值的表单代码块
<Input
label="Write a message..."
name="message"
type="text"
/>
以下是我想从中访问值的代码块
handleSubmit = (e) => {
this.props.sendNewMessage(e.target.value);
}
完整代码供参考:
import React from 'react';
import SubMenu from './SubMenu';
import MessageForm from './form/MessageForm';
import { sendNewMessage } from '../../actions/messages.actions'
import {connect} from 'react-redux';
class Messages extends React.PureComponent {
handleSubmit = (e) => {
this.props.sendNewMessage(e.target.value);
}
render() {
return (
<section className="page-notifications">
<SubMenu/>
<MessageForm onSubmit={this.handleSubmit}/>
</section>
)
}
}
const mapDispatchToProps = dispatch => {
return {
sendNewMessage: (msg) => dispatch(sendNewMessage(msg)),
}
}
export default connect(null,mapDispatchToProps)(Messages)
这不是您应该处理表单提交的方式。您messageForm
应该使用onChange
处理程序更新状态。然后handleSubmit
应使用已设置状态中的值来preventDefault()
调度您的sendNewMessage
操作。
该阵营的文档都对这个非常有帮助。
所以我只需要传递“值”来处理提交...就可以了