我正在寻找如何将initialValues传递给我的表单:
我在redux-form文档中发现将mapStateToProps作为第二个传递。参考:https://redux-form.com/6.0.0-alpha.5/examples/initializefromstate/
所以我尝试了以下内容:
IngredientForm = reduxForm(
{
form: 'ingredient',
validate,
enableReinitialize : true
},
(state) => {
return {
initialValues : state.ingredients.data)
}
}
)(IngredientForm)
这是mapStateToProps作为第二个参数。但我发现initialValues没有传递给道具。
然后我搜索并找到了以下添加mapStateToProps的方法:
const mapStateToProps = (state) => {
return {
initialValues : state.ingredients.data
}
}
IngredientForm = connect( mapStateToProps )(
reduxForm(
{
form: 'ingredient',
validate,
}
)(IngredientForm)
);
为什么第二种参数方式不起作用。
答案 0 :(得分:0)
如果您查看已关联的示例,则可以看到它还提供mapStateToProps
作为connect
的参数,而不是reduxForm
:
// You have to connect() to any reducers that you wish to connect to yourself
InitializeFromStateForm = connect(
state => ({
initialValues: state.account.data // pull initial values from account reducer
}),
{ load: loadAccount } // bind account loading action creator
)(InitializeFromStateForm)
Source以上内容。