我的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
方法中吗?
答案 0 :(得分:1)
想出来......只需要在我的handleFormSubmit辅助函数中发送id并从表单中删除id。
handleFormSubmit({ date }) {
const id = this.props.data.id;
this.props.post( { id, date })
}