Skip to main content
useNuxtData gives you access to the current cached value of useAsyncData, useLazyAsyncData, useFetch and useLazyFetch with explicitly provided key.

Usage

The useNuxtData composable is used to access the current cached value of data-fetching composables such as useAsyncData, useLazyAsyncData, useFetch, and useLazyFetch. By providing the key used during the data fetch, you can retrieve the cached data and use it as needed. This is particularly useful for optimizing performance by reusing already-fetched data or implementing features like Optimistic Updates or cascading data updates. To use useNuxtData, ensure that the data-fetching composable (useFetch, useAsyncData, etc.) has been called with an explicitly provided key.

Parameters

string
required
The unique key that identifies the cached data. This key should match the one used during the original data fetch.

Return Values

Ref<T | undefined>
A reactive reference to the cached data associated with the provided key. If no cached data exists, the value will be null. This Ref automatically updates if the cached data changes, allowing seamless reactivity in your components.

Examples

Basic Usage

The example below shows how you can use cached data as a placeholder while the most recent data is being fetched from the server.
[app/pages/posts.vue]
[app/pages/posts/[id].vue]

Optimistic Updates

The example below shows how implementing Optimistic Updates can be achieved using useNuxtData. Optimistic Updates is a technique where the user interface is updated immediately, assuming a server operation will succeed. If the operation eventually fails, the UI is rolled back to its previous state.
[app/pages/todos.vue]
[app/components/NewTodo.vue]

Type