Hack <KeepAlive /> for React
The React Activation library provides a way to implement the <keep-alive />
functionality seen in Vue for React applications. It also mentions official support for <Offsreen />
in React 18.x, offering a more stable <KeepAlive />
function with babel pre-compilation. Additionally, it is compatible with React v16/v17/v18 and Preact v10+.
<keep-alive />
functionality in React<KeepAlive />
function with babel pre-compilationTo install the React Activation library, follow these steps:
(Optional but recommended) Add react-activation/babel plugins in .babelrc
file.
"plugins": ["react-activation/babel"]
This plugin adds a _nk
attribute to each JSX element during compilation to help generate a unique identifier for the <KeepAlive>
component.
Wrap the components that need to keep states with <KeepAlive>
, such as:
<KeepAlive>
<Counter />
</KeepAlive>
Place the <AliveScope>
component at a location that will not be unmounted, usually at the application entrance.
The React Activation library provides a way to implement Vue’s <keep-alive />
functionality in React applications. It also offers more stable <KeepAlive />
function with babel pre-compilation and compatibility with React v16/v17/v18 and Preact v10+. With features like cache control, lifecycle methods support, and examples for easy understanding, React Activation aims to enhance state management and performance optimization in React applications.