记住状态并做出反应

时间:2015-10-26 18:37:13

标签: reactjs

我正在使用具有嵌套注释的React发表评论功能。用户可以通过单击"查看回复来选择查看评论的回复。"子评论“观看/隐藏”是评论框状态的一部分。用户还可以发布全新评论。

我的问题是,当您发布新评论时,它会折叠当前展开的所有评论。发布新评论会导致程序获取所有主要评论,这将重新呈现评论。

我怎样才能做出反应"记住"他们的州完好无损的旧评论?

旁注:我有一个类似的实现只是喜欢评论和喜欢不会导致React创建全新的评论,即使我也回去在用户喜欢评论后获取所有评论。可能有助于回答我的主要问题的另一件事是,如何决定完全重新创建组件或仅使用更新的道具来更新组件?

1 个答案:

答案 0 :(得分:0)

React总是在新旧道具和状态之间寻找变化,只会产生差异。

如果您想要记住子评论的内容,最好将它们存储在某处并将它们作为道具传递。国家(几乎按照定义)不是为了记住。

我认为重新渲染已安装的组件时状态不会丢失。因此,您可以将道具传递给视图/隐藏,并使用CSS样式/类名来显示/隐藏元素。

如果你的顶级组件在被隐藏时甚至没有呈现子评论,那么它们将被打开并且状态将丢失。

跳这是有道理的