[英]React / Redux: mapStateToProps not actually mapping state to props
[英]React - Spread MapStateToProps with the same props
我有这个MapStateToProps:
const mapStateToProps = (state) => {
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const ESFReport = getESFReport(state);
const resultStatusReport = getResultStatusReport(state);
return {
companInfo: getCompanyInfo(state),
companyId: getCompanyId(state),
...ESFReport,
...resultStatusReport,
year,
month,
};
};
而且...ESFReport,
和...resultStatusReport
都具有相同的属性: report
但我需要以某种方式更改名称,因为在同一组件中,我两次使用const { report } = this.props
,但用于不同的props。
我怎样才能做到这一点? (当我只有... ESFReport时,它可以工作,但是当我添加... resultStatusReport时,它坏了)。
提前致谢。
如果除了ESFReport
和resultStatusReport
对象的report
,您不需要其他任何ESFReport
, resultStatusReport
可以执行以下操作:
const mapStateToProps = (state) => {
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const { report: ESFReport } = getESFReport(state);
const { report: resultStatusReport } = getResultStatusReport(state);
return {
companInfo: getCompanyInfo(state),
companyId: getCompanyId(state),
ESFReport,
resultStatusReport,
year,
month,
};
};
它只是将每个report
属性重命名为ESFReport
和resultStatusReport
。 然后,您将拥有this.props.ESFReport
实际上是ESFReport.report
和this.props.resultStatusReport
它将是resultStatusReport.report
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.