比如A、B 两个tab 点击A显示A对应内容组件 点击B显示B对应内容组件,因为A,B tab是用了路由的 所以切换显示组会卸载 这就导致 组件内的state就被清空了 我需要切换的时候组件状态被缓存起来 然后当关闭当前的tab时候缓存的内容要被清掉 请问有没有什么好的组件库或者比较好的办法 (存redux那种办法不考虑 太重了 而且麻烦)
比如A、B 两个tab 点击A显示A对应内容组件 点击B显示B对应内容组件,因为A,B tab是用了路由的 所以切换显示组会卸载 这就导致 组件内的state就被清空了 我需要切换的时候组件状态被缓存起来 然后当关闭当前的tab时候缓存的内容要被清掉 请问有没有什么好的组件库或者比较好的办法 (存redux那种办法不考虑 太重了 而且麻烦)
除了使用插件或者redux之类的方法,我提供一点思路仅供参考:
1、直接使用display来控制来个tab之间的组件的显示隐藏
2、控制组件的高度为0或者100%
3、给组件定位,不展示的组件给个大的定位,将其挪出视图返回,展示的那个放到视图范围展示
以上三种其实都是一个思想,反正就是保持组件的活跃状态,不过与之对应的问题也会同时存在,例如想触发视图更新,得手动去触发,不能通过触发周期的形式去自动触发
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.5k 阅读
2 回答1.8k 阅读
npm install --save react-keep-alive
github地址:https://github.com/StructureB...