react缓存组件

比如A、B 两个tab 点击A显示A对应内容组件 点击B显示B对应内容组件,因为A,B tab是用了路由的 所以切换显示组会卸载 这就导致 组件内的state就被清空了 我需要切换的时候组件状态被缓存起来 然后当关闭当前的tab时候缓存的内容要被清掉 请问有没有什么好的组件库或者比较好的办法 (存redux那种办法不考虑 太重了 而且麻烦)

阅读 6.2k
2 个回答

除了使用插件或者redux之类的方法,我提供一点思路仅供参考:
1、直接使用display来控制来个tab之间的组件的显示隐藏
2、控制组件的高度为0或者100%
3、给组件定位,不展示的组件给个大的定位,将其挪出视图返回,展示的那个放到视图范围展示

以上三种其实都是一个思想,反正就是保持组件的活跃状态,不过与之对应的问题也会同时存在,例如想触发视图更新,得手动去触发,不能通过触发周期的形式去自动触发

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题