ReduxForm:从mapStatetoProps传递初始值

ReduxForm:从mapStatetoProps传递初始值,redux,redux-form,Redux,Redux Form,我尝试按如下方式获取表单设置的初始值,但它不起作用: const mapStateToProps = (state, props) => ({ initialValues: state.charts[props.resourceId], }); const mapDispatchToProps = ... export default reduxForm({ form: 'ChartForm', })(connect(mapStateToProps, mapDispatchT

我尝试按如下方式获取表单设置的初始值,但它不起作用:

const mapStateToProps = (state, props) => ({
  initialValues: state.charts[props.resourceId],
});

const mapDispatchToProps = ...

export default reduxForm({ 
  form: 'ChartForm',
})(connect(mapStateToProps, mapDispatchToProps)(ChartForm));
当然,如果我这样做会奏效:

export default reduxForm({ 
      form: 'ChartForm',
      initialValues: {
          title: "Some Title",
          ...
      }
})(connect(mapStateToProps, mapDispatchToProps)(ChartForm));
但这不是我需要的。我需要从存储中具有
id==this.props.resourceId


有人能指出第一个解决方案的错误吗?

您需要将
初始值
道具传递到表单中。为此,请使用connect函数包装表单。请参阅文档中的

export default connect(mapStateToProps, mapDispatchToProps)(reduxForm({ 
  form: 'ChartForm',
})(ChartForm));

对于所有想知道2019年的人。您需要将enableReinitialize:true作为redux表单选项的一部分。如果不通过,道具到达后表单将不会重新呈现