【发布时间】:2018-07-02 13:36:54
【问题描述】:
我有一个依赖于 redux 存储的组件。 我的 redux 商店看起来像这样的东西
{
user: {
auth: true,
id: '5a603c58288fc745f8cada9e',
first_name: 'john',
email: 'xyz@abc.com',
company_id: '5a66d8b92cd8e931680778dc',
company_name: 'My Company',
}
}
所以基本上当我刷新页面时,存储消失了,需要一些时间来获取数据并将其设置到存储中
我有一个组件需要 company_id 来获取有关该公司的数据
componentDidMount(props) {
console.log("idddddddd", this.props.company_id)
// this.props.getCompanyData(this.props.company_id);
}
使用 react-redux 我得到 company_id
CompanySetupPage.propTypes = {
getCompanyData : PropTypes.func.isRequired,
company_id : PropTypes.string.isRequired
}
function mapStateToProps(state) {
return {
company_id : state.user.company_id
}
}
export default connect(mapStateToProps, {getCompanyData})(CompanySetupPage);
这个组件,componentDidMount 在 store 接收到 company_id 数据之前被触发。 所以我想要的是在这个组件从 redux 商店获取 company_id 之后调用 componentDidMount。
【问题讨论】:
-
组件生命周期函数的调用顺序不用改变,你需要的是componentWillReceiveProps生命周期钩子
-
我将如何使用它?
-
很高兴它有帮助,
-
考虑对有帮助的 SO 提出问题和答案
标签: reactjs redux react-redux