【问题标题】:How to flush old content before rendering new content in React?如何在 React 中渲染新内容之前刷新旧内容?
【发布时间】:2017-11-13 20:12:41
【问题描述】:

我有一个基本的博客应用程序,其中索引页面列出了用户的所有博客文章。当用户点击博客文章时,他会被重定向到包含标题和内容的博客文章页面。如果用户返回索引页面,然后单击另一篇博文,那么会在短时间内显示第一篇博文的内容,然后显示新的博文。我该如何解决?

注意:当用户访问博客文章页面时,会进行 ajax 调用以获取该文章的内容。

【问题讨论】:

  • 如果您在列表页面中使用状态变量,请清空包含要在用户单击博客文章时在重定向页面中呈现的数据的状态变量

标签: reactjs redux


【解决方案1】:

您可以在life cycle methods 组件之一中清空博客帖子Component 的状态:componentWillUnmount()

让我说得更简单:

  1. 你应该再多一个actionTypeRESET_BLOG_POST

  2. 重置您的 BlogPost 组件的 state 的操作,这会清空您的 actions 中的所有组件数据。

  3. 我想你知道如何在你的 reducer 中处理这个动作

  4. 并在您的组件中调用componentWillUnmount()中的此操作

类似的东西

componentWillUnmount(){
  this.props.resetBlogPost(); //this dehydrates your component.
}

所以它会清除组件的当前状态。

【讨论】:

  • Unmount 拼写为 m 而不是 n。小心复制粘贴:)
猜你喜欢
  • 1970-01-01
  • 2023-01-12
  • 2022-12-10
  • 1970-01-01
  • 1970-01-01
  • 2018-12-13
  • 2019-02-05
  • 2016-02-21
  • 2015-08-04
相关资源
最近更新 更多