ReduxForm:从mapStatetoProps传递initialValues

时间:2017-10-07 18:22:32

标签: redux redux-form

我试图获取表单设置的initialValues如下,但它不起作用:

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

的资源中获取初始值

有人能指出第一个解决方案有什么问题吗?

1 个答案:

答案 0 :(得分:8)

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

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