温馨提示:本文翻译自stackoverflow.com,查看原文请点击:reactjs - I want to pass my input values from Form to handleSubmit ()
reactjs redux

reactjs - 我想将我的输入值从Form传递到handleSubmit()

发布于 2020-03-27 11:14:53

我想将我的输入值从表单传递到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)

查看更多

查看更多

提问者
RebelCoder
被浏览
136
Will Jenkins 2019-07-02 21:33

这不是您应该处理表单提交的方式。messageForm应该使用onChange处理程序更新状态然后handleSubmit使用已设置状态中的值来preventDefault()调度您的sendNewMessage操作。

阵营的文档都对这个非常有帮助。