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