unstable_noStore
unstable_noStore
можно использовать для декларативного отказа от статического рендеринга (static rendering) и указания, что конкретный компонент не должен кэшироваться.
import { unstable_noStore as noStore } from 'next/cache';
export default async function Component() {
noStore();
const result = await db.query(...);
...
}
Полезно знать:
unstable_noStore
эквивалентен параметруcache: 'no-store'
вfetch
unstable_noStore
предпочтительнее, чемexport const dynamic = 'force-dynamic'
, так как обеспечивает более детализированный контроль и может использоваться для отдельных компонентов
- Использование
unstable_noStore
внутриunstable_cache
не приведёт к отказу от статической генерации (static generation). Вместо этого оно будет учитывать конфигурацию кэша для определения необходимости кэширования результата.
Использование
Если вы предпочитаете не передавать дополнительные параметры в fetch
, такие как cache: 'no-store'
или next: { revalidate: 0 }
, вы можете использовать noStore()
в качестве замены для всех этих случаев.
import { unstable_noStore as noStore } from 'next/cache';
export default async function Component() {
noStore();
const result = await db.query(...);
...
}
История версий
Версия | Изменения |
---|---|
v14.0.0 | Добавлена функция unstable_noStore . |