繁体   English   中英

React-Redux:在数据库中插入数据

[英]React-Redux: Insert Data in DB

我正在学习使用 react-redux,如果我弄糊涂了,很抱歉!

我正在尝试创建一个表单并将数据插入到数据库中。

然后我创建了 2 页,一个用于表单,另一个用于表单。

申请表

handleChange = (e) => {
    let meeting = this.state.meeting;
    meeting[e.target.name] = e.target.value;
    this.setState({ meeting });
  };

  handleSubmit(event) {
    event.preventDefault();
    console.log(this.state.meeting);
    this.props.addMeeting(this.state)
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>

        <div>
          <label>Motivation:</label>
          <input
            type="text"
            name="motivation"
            onChange={(event) => this.handleChange(event)}
          />
        </div>
        <div>
          <label>Date:</label>
          <input
            type="date"
            name="date"
            onChange={(event) => this.handleChange(event)}
          />
        </div>

会议请求.js

import RequestForm from './RequestForm';
import { connect } from 'react-redux';
import {addMeeting} from '../Redux/actions';


class MeetingRequest extends Component {

  render() {
    const addMeeting = this.props
    return (
      <div>
        <h2>Request Meeting</h2>
        <RequestForm 
          addMeeting={addMeeting}
        />
      </div>
    );
  }
}

function mapDispatchToProps(dispatch) {
  return {
    addMeeting: (meeting) => dispatch(addMeeting(meeting)),
  };
}

export default connect(null, mapDispatchToProps)(MeetingRequest);

编辑。 感谢您的评论,第一个错误已解决,现在我有一个 500 问题。 会不会是 Actions.js 的问题?

而且在您看来我的做法是正确的?

谢谢

改变:

-const addMeeting = this.props
+const { addMeeting } = this.props

MeetingRequest.js


关于 API 上的 500 错误,可能是因为您在设置multipart/form-data时发送 JSON 。 使用开发工具中的网络选项卡进行检查。 如果您的后端需要multipart/form-data ,您必须将state.meeting object 转换为FormData

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM