https://github.com/shenjunru/react-fiber-keep-alive
npm install --save react-fiber-keep-alive
React Fiber
和 React Hooks
。class component
生命周期。function component
的 hooks
。context
变化。keep-alive
。react-dom
v16.8+ / v17 / v18 。import React from 'react';
import ReactDOM from 'react-dom';
import KeepAlive from 'react-fiber-keep-alive';
const root = document.getElementById('root');
ReactDOM.render((
<KeepAlive.Provider value={root}>
...
<KeepAlive name="test">
<YourComponent />
</KeepAlive>
...
</KeepAlive.Provider>
), root);
目前版本 0.6.2
, 欢迎试用,提 bug
1
luffy 2022-06-14 18:03:27 +08:00
这里的应用场景是什么?
什么情况下需要你这个库 |
2
sunburst112 2022-06-14 18:05:49 +08:00
@luffy 多 tab 栏切换缓存上一个 tab 组件的状态 类似 vue 的 keep-alive
|
3
sunburst112 2022-06-14 18:07:20 +08:00
可以直接包裹 router6 的 outlet 实现效果吗?
|
4
monexus OP @sunburst112 目前没用过 react-router6 ,你可以尝试一下,加几行代码而已
|
5
monexus OP @luffy 提供整个组件树的状态在 unmount 时被保留,再次 mount 后还原。比如页面导航后退还原原来的页面状态
|
6
weeshin 2022-06-14 18:35:09 +08:00
React 18 不是说要添加这个原生功能了?
|