在ComponentDidMount中访问Redux状态

时间:2019-09-19 17:22:32

标签: reactjs redux

我正面临Redux和React的问题

我使用redux动作从API提取数据。装入组件后,将触发此操作并填充Redux状态。我希望从redux状态使用参数(database=VideoClub;)触发第二个操作。

我的问题是,当我执行第二个操作时,redux状态仍然为空,因此datanase=VideoClub;为null,这会导致错误。

div {
  transition: <property> <duration> <timing-function> <delay>; 
}

我已经检查过关于该主题的其他主题,例如https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions,但是这些主题都不适合我。我该如何实现?

谢谢

1 个答案:

答案 0 :(得分:2)

您可能必须使用componentDidUpdate生命周期方法。因此,假设userVisit取决于targetArticle的结果,并假设您正在寻找this.props。对于更新的Redux状态,类似这样的方法应该可以使您到达那里:

componentDidUpdate(prevProps) {
  if(prevProps.article !== this.props.article) {
    // Now you have access to targetArticle's result and updated Redux state
    userVisit(match.params.slug, this.props.article.title)
  }
}

文档中的更多信息:https://reactjs.org/docs/react-component.html#componentdidupdate