prefetchDNS¶
Canary
Функция prefetchDNS в настоящее время доступна только в каналах React Canary и experimental. Подробнее о каналах выпуска React здесь.
Функция prefetchDNS позволяет вам с нетерпением искать IP-адрес сервера, с которого вы ожидаете загрузить ресурсы.
1 | |
Описание¶
prefetchDNS(href)¶
Чтобы найти хост, вызовите функцию prefetchDNS из react-dom.
1 2 3 4 5 6 | |
Функция prefetchDNS дает браузеру подсказку, что ему следует поискать IP-адрес данного сервера. Если браузер решит это сделать, это может ускорить загрузку ресурсов с данного сервера.
Параметры
href: строка. URL-адрес сервера, к которому вы хотите подключиться.
Возвращаемое значение
prefetchDNS ничего не возвращает.
Ограничения
- Несколько вызовов
prefetchDNSс одним и тем же сервером имеют тот же эффект, что и один вызов. - В браузере вы можете вызвать
prefetchDNSв любой ситуации: при рендеринге компонента, в эффекте, в обработчике события и так далее. - При рендеринге на стороне сервера или при рендеринге серверных компонентов
prefetchDNSимеет эффект только в том случае, если вы вызываете его во время рендеринга компонента или в асинхронном контексте, возникающем при рендеринге компонента. Любые другие вызовы будут проигнорированы. - Если вы знаете, какие именно ресурсы вам понадобятся, вы можете вызвать другие функции, которые сразу же начнут загрузку ресурсов.
- Нет никакой пользы от предварительной выборки того же сервера, на котором размещена сама веб-страница, поскольку к тому времени, когда будет дана подсказка, она уже будет найдена.
- По сравнению с
preconnect,prefetchDNSможет быть лучше, если вы спекулятивно подключаетесь к большому количеству доменов, в этом случае накладные расходы на предварительное подключение могут перевесить преимущества.
Использование¶
Предварительная выборка DNS при рендеринге¶
Вызовите prefetchDNS при рендеринге компонента, если вы знаете, что его дочерние компоненты будут загружать внешние ресурсы с этого хоста.
1 2 3 4 5 6 | |
Предварительная выборка DNS в обработчике события¶
Вызовите prefetchDNS в обработчике события перед переходом на страницу или состояние, где потребуются внешние ресурсы. Это позволит запустить процесс раньше, чем если бы вы вызвали его во время рендеринга новой страницы или состояния.
1 2 3 4 5 6 7 8 9 | |
Источник — https://react.dev/reference/react-dom/prefetchDNS