我只想以redux-form设置和呈现表单的initialValues . 数据是在redux中,我相信我正确映射...但表单没有填充 . 该表单适用于插入,但现在我将其连接以进行更新 .
Redux表7.2.0
形成:
...
<div className="form-group">
<div className="col-md-2 control-label">Name</div>
<div className="col-md-10">
<Field
label="Name"
name="app_cat_name"
component={input}
validate={required} />
</div>
</div>
<div className="form-group">
<div className="col-md-2 control-label">Description</div>
<div className="col-md-10">
<Field
label="Description"
name="app_cat_descr"
component={textArea}
validate={required} />
</div>
</div>
...
mapStateToProps:
const mapStateToProps = state => {
let values = {
initialValues: state.category
};
return values;
}
...此时在调试时,“values”具有正确的对象,mapStateToProps正在工作 .
连线:
export default reduxForm({
form: "CategoryForm",
enableReinitialize: true
})(connect(mapStateToProps, { saveCategory, getCategories, getCategoriesCount })(CategoryForm));
...有或没有“enableReinitialize”结果是一样的 .
我甚至尝试将它传递到这样的形式,但相同的结果 - 表单字段是空白的:
<form onSubmit={handleSubmit(this.onSubmit)} initialValues={initialValues}>
1 回答
我相信您的问题是您调用
reduxForm
vsconnect
的顺序 . 在您当前的代码中,您的连接组件由redux-form包装,这意味着在运行时React树将如下所示因此,您从
state
中提取的初始值实际上并未传递到连接的表单中 .尝试将“有线”代码更改为