如何解决反应:组件隐藏/显示与销毁/重新创建
通常,当我们创建条件组件时,我们会做
{ condition ? <Comp1 /> : <Comp2 /> }
我的问题是,什么是更好的方法?
- 使用CSS隐藏/显示组件吗?
- 销毁/重新创建组件?
我的假设是,“隐藏/显示”会更好一些,因为您不必再次创建组件。只需重涂并重涂。
我可以想到的一种情况是保存内部状态时销毁/重新创建的问题。这可以使用状态管理系统通过传递道具来实现。我不确定的是,如果我们将过时的组件保留在VirtualDOM中,并且如果这些组件很重(例如网格),它将影响性能,但仍然可能不及再次创建整个组件。那么销毁组件是否有意义?
不考虑使用React.memo
钩子,因为缓存+重新创建会更好。因此,对于非基于钩子的应用程序,有什么更好的选择?
解决方法
我认为,因为React在执行DOM diff时,它将减少无用的DOM数量。如果您使用类来控制它,React将做一些额外的工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。