如果用过 Vue,小伙伴们一定知道 这个组件,它能够在离开页面时缓存页面的状态;在 React 中我们想要做到这一点可以通过样式或者数据流进行控制,具体可以看 React 的 Issue。
我在项目中,需要实现 A 页面进入 B 页面刷新状态,从 C 页面进入 B 页面保留状态的功能。在 Google 查找了很久也没有找到好的解决方案,于是就自己动手实现了一个,欢迎大家试用。
我们知道组件在卸载后就不能在使用了,所以我使用了 React.createPortal 把组件都挂载到了整个 App 的外面,然后把组件的 DOM 移动到需要展示的位置。