如何将道具(从Redux获取的)从WrapperComponent传递到InnerComponent(React / Redux)?
import React, { Component } from "react";
import { connect } from "react-redux";
import { withRouter } from "react-router-dom";
import InnerComponent from "./InnerComponent ";
class WrapperComponent extends Component {
state = {
data: []
};
render() {
return (
<div>
<InnerComponent props={this.props} />
</div>
);
}
}
const mapStateToProps = state => ({
data: state.data
});
export default connect(mapStateToProps)(withRouter(WrapperComponent));
渲染WrapperComponent之后-道具仍然不在。 任何LifeCicle方法都无法解决它。
有可能吗?
答案 0 :(得分:1)
有可能,建议这样做,因此您不需要每次都通过“连接”调用所有HOC存储。将所有相关的动作和减速器调用到您的容器中,并将它们作为道具传递。
在这种情况下,您的reducer名称称为data,您需要这样命名(我将props名称更改为data,因此您可以给您的孩子调用props.data):
<InnerComponent data={this.props.data} />
或者您可以像这样通过父母的所有道具:
<InnerComponent {...this.props} />