对于React / Redux应用程序,我们是否应该在路由到其他组件时始终清除该组件的应用程序状态?

时间:2017-04-12 05:11:38

标签: reactjs redux react-router

对于一个简单的RESTful类型的应用程序,比如说,如果它是博客文章,那么当我们看到所有帖子的列表,并导航只看到一个帖子时,我们是否应该将应用程序状态的posts设置为[]null

当我们从一个帖子导航回到查看所有帖子时,我们是否应该将应用状态的post设置为null

(我们可能在componentWillUnmount()函数中执行此操作:

  componentWillUnmount() {
    this.props.clearPost();
  }

其中clearPost()是操作类型CLEAR_POST的操作创建者,当缩减器看到此操作类型时,它将返回null。)

为什么呢?因为当用户看到所有帖子的列表,现在点击一个帖子时,我们会看到一个帖子。但是,如果网络瘫痪或缓慢怎么办?然后我们将看到之前加载的帖子,可能是不同的帖子,甚至是已删除的帖子。如果网络出现故障,我们会看到这个错误的记录,它将保留在那里。如果网络缓慢或不稳定,我们会看到错误的记录,在N秒后,我们将看到正确的记录。

与完整的帖子列表相同。当我们从其他组件(例如显示一个帖子组件)导航回到此索引页面时,如果网络停止或缓慢,我们还将看到帖子列表中的错误内容。然后,如果网络关闭,这个错误的列表将保持不变。如果网络速度很慢,那么错误的列表将在N秒后得到纠正。

如果客户服务代表正在使用此应用程序,该怎么办?他们可能会对客户说:“不,我看到这个记录(或列表),它就是这样的。根据记录,你是[...]。计算机不会说谎,先生”。 / p>

因此始终建议在null函数中将该组件的应用程序状态设置为空数组或componentWillUnmount()总是?基本上,如果我们为此组件确实有一个名为INITIAL_STATE的常量,我们会将其设置回INITIAL_STATE

0 个答案:

没有答案