2017-10-07 41 views
1

我试图获取表单设置的initialValues如下,但它不工作通过initialValues:ReduxForm:从mapStatetoProps

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

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

回答

2

您需要将initialValues道具传递给表单。要做到这一点,使用connect函数来封装表单。请参阅文档中的Initialize From State

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