我正面临 Redux 和 React 的问题
我使用 redux 操作从 API 获取数据。当组件挂载时,会触发此操作并填充 Redux 状态。我希望使用article来自 redux 状态的参数 ( )触发第二个操作。
我的问题是,当我触发第二个动作时,redux 状态仍然为空,因此article为空,这会导致错误。
componentDidMount() {
const { targetArticle, userVisit, match, article } = this.props
targetArticle(match.params.slug);
userVisit(match.params.slug, article.title);
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了类似主题的其他主题这一个,但没有人对我的作品。我怎样才能做到这一点?
谢谢
小智 5
您可能必须使用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)
}
}
Run Code Online (Sandbox Code Playgroud)
更多文档:https : //reactjs.org/docs/react-component.html#componentdidupdate
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |