Skip to content

KeepAlive

We can easily integrate keepalive-react-router to achieve route-level KeepAlive caching.

Install Dependencies

bash
npm install keepalive-react-router

Usage

Just two simple steps!

First, in the root route component, replace Outlet:

tsx
// root.tsx
import { KeepAliveOutlet, KeepAliveProvider } from 'keepalive-react-router'

export function Root() {
  return (
    <>
      <Outlet /> // [!code --]
      <KeepAliveProvider> // [!code ++]
        <KeepAliveOutlet /> // [!code ++]
      </KeepAliveProvider> // [!code ++]
    </>
  )
}

Then, in the route component, export keepAlive to enable route caching.

tsx
// Route component

export const handle = { keepAlive: true }

export default function Page() {
  return <div>Page</div>
}

It's that simple! The route component now has caching capability.

For more configurations, please refer to the keepalive-react-router documentation.

Released under the MIT License.