将id.props.data.id中的id传递给React ReduxForm

时间:2016-05-17 01:34:05

标签: forms reactjs redux

我的ListItem组件使用以下命令从另一个组件传递数据:

renderData(){

 return (
  <ListItem
       key={data.id}
       data={data} />
           )

现在在我的ListItem组件中,我可以使用this.props.data访问数据。我想将ID this.props.data.id传递给reduxForm或我的handleFormSubmit函数。

我尝试添加一个隐藏的输入字段来传递id哪个不起作用?

handleFormSubmit({ id, date }) {

    this.props.post( { id, date })
}

在我的渲染方法中......

render() {

    const { handleSubmit, fields: { id, date }} = this.props;
     return(
          <div>
          <form className="form-inline" onSubmit={handleSubmit(this.handleFormSubmit.bind(this))}>
              <input {...id} type="hidden" name="id" value={this.props.data.id} />
              <select className="form-control" {...date} >
          <option value="Monday">Monday</option>
              <option value="Tuesday">Tuesday</option>
              <option value="Wednesday">Wednesday</option>
              <option value="Thursday">Thursday</option>
              <option value="Friday">Friday</option>
              <option value="Saturday">Saturday</option>
              <option value="Sunday">Sunday</option>
               </select>
            </form>
         </div>
       )
}


export default reduxForm({

     form: 'day', 
     fields: ['id', 'date']
})

必须有另一种方法将数据添加到我看不到的handleFormSubmit方法中吗?

1 个答案:

答案 0 :(得分:1)

想出来......只需要在我的handleFormSubmit辅助函数中发送id并从表单中删除id。

handleFormSubmit({ date }) {
    const id = this.props.data.id;
    this.props.post( { id, date })
}