redux-form:由mapStateToProps传递initialValues,因为第二个参数不起作用

时间:2017-11-28 08:00:30

标签: redux-form

我正在寻找如何将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)
 );

为什么第二种参数方式不起作用。

1 个答案:

答案 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以上内容。