Руководства / Примеры

Примеры

Используйте onIntent для безопасной и повторяемой подготовки. Необратимые действия — покупка, отправка сообщения или формы — должны ждать настоящего клика.

Предзагрузка маршрута

Самый распространённый сценарий Next.js.

<IntentLink href={href} onIntent={() => router.prefetch(href)}>
  {label}
</IntentLink>

Подготовка данных

Поместите информацию для следующего экрана в кэш библиотеки данных.

<IntentLink
  href={`/product/${id}`}
  onIntent={() => queryClient.prefetchQuery({ queryKey: ["product", id] })}
>
  {name}
</IntentLink>

Предзагрузка изображения

Начните загружать большой ресурс до перехода.

<IntentLink
  href={`/product/${id}`}
  onIntent={() => {
    const image = new Image()
    image.src = heroImageFor(id)
  }}
>
  {name}
</IntentLink>

Подготовка компонента

Если цель не является ссылкой, используйте useIntentTarget.

const intentRef = useIntentTarget<HTMLButtonElement>({
  onIntent: () => { void import("./product-preview") },
})

return <button ref={intentRef}>Open preview</button>