对于一个简单的RESTful类型的应用程序,比如说,如果它是博客文章,那么当我们看到所有帖子的列表,并导航只看到一个帖子时,我们是否应该将应用程序状态的posts
设置为[]
或null
?
当我们从一个帖子导航回到查看所有帖子时,我们是否应该将应用状态的post
设置为null
?
(我们可能在componentWillUnmount()
函数中执行此操作:
componentWillUnmount() {
this.props.clearPost();
}
其中clearPost()
是操作类型CLEAR_POST
的操作创建者,当缩减器看到此操作类型时,它将返回null
。)
为什么呢?因为当用户看到所有帖子的列表,现在点击一个帖子时,我们会看到一个帖子。但是,如果网络瘫痪或缓慢怎么办?然后我们将看到之前加载的帖子,可能是不同的帖子,甚至是已删除的帖子。如果网络出现故障,我们会看到这个错误的记录,它将保留在那里。如果网络缓慢或不稳定,我们会看到错误的记录,在N秒后,我们将看到正确的记录。
与完整的帖子列表相同。当我们从其他组件(例如显示一个帖子组件)导航回到此索引页面时,如果网络停止或缓慢,我们还将看到帖子列表中的错误内容。然后,如果网络关闭,这个错误的列表将保持不变。如果网络速度很慢,那么错误的列表将在N秒后得到纠正。
如果客户服务代表正在使用此应用程序,该怎么办?他们可能会对客户说:“不,我看到这个记录(或列表),它就是这样的。根据记录,你是[...]。计算机不会说谎,先生”。 / p>
因此始终建议在null
函数中将该组件的应用程序状态设置为空数组或componentWillUnmount()
总是?基本上,如果我们为此组件确实有一个名为INITIAL_STATE
的常量,我们会将其设置回INITIAL_STATE
?