首页 > 解决方案 > 调度操作到我的 handleSubmit() 我必须将它保存在数组 []

问题描述

我想将动作分派到我的 handleSubmit 函数中,这样我就可以从输入中获取值并将其保存到 message[]

以下是我卡住​​的代码:

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);

    }
    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)

基本上,我只需向代码块发送一个动作:

class Messages extends React.PureComponent {
    handleSubmit = (e) => {
      this.props.sendNewMessage(e);

    }

标签: react-reduxreact-redux-form

解决方案


所以我得到了这个问题的答案,我们只需要将值传递给我们的 handleSubmit 函数并在 props 中调用它。以下是此解决方案的代码块:

 handleSubmit = (values) => {
      const { sendNewMessage } = this.props;
      sendNewMessage(values);
      console.log(values)
    }

请注意,它本身不会做任何事情,我们需要对我们的 sagas 文件进行一些更改。但我们可以通过 aconsole.log(values)在控制台中检查我们的输入响应


推荐阅读