preloadModule¶
Canary
Функция preloadModule
в настоящее время доступна только в каналах React Canary и experimental. Подробнее о каналах выпуска React здесь.
Фреймворки на основе React часто обрабатывают загрузку ресурсов за вас, поэтому вы можете не вызывать этот API самостоятельно. За подробностями обращайтесь к документации вашего фреймворка.
preloadModule
позволяет вам с нетерпением получить модуль ESM, который вы ожидаете использовать.
1 2 3 |
|
Описание¶
preloadModule(href, options)
¶
Чтобы предварительно загрузить модуль ESM, вызовите функцию preloadModule
из react-dom
.
1 2 3 4 5 6 7 8 |
|
Функция preloadModule
дает браузеру подсказку, что ему следует начать загрузку данного модуля, что позволяет сэкономить время.
Параметры
href
: строка. URL-адрес модуля, который вы хотите загрузить.options
: объект. Он содержит следующие свойства:as
: обязательная строка. Она должна быть'script'
.crossOrigin
: строка. Политика CORS, которую следует использовать. Возможные значения:anonymous
иuse-credentials
.integrity
: строка. Криптографический хэш модуля для проверки его подлинности.nonce
: строка. Криптографический nonce для разрешения модуля при использовании строгой политики безопасности содержимого.
Возвращаемое значение
preloadModule
ничего не возвращает.
Ограничения
- Несколько вызовов
preloadModule
с одним и тем жеhref
имеют тот же эффект, что и один вызов. - В браузере вы можете вызвать
preloadModule
в любой ситуации: при рендеринге компонента, в эффекте, в обработчике события и так далее. - При рендеринге на стороне сервера или при рендеринге серверных компонентов
preloadModule
имеет эффект только в том случае, если вы вызываете его во время рендеринга компонента или в асинхронном контексте, возникающем при рендеринге компонента. Любые другие вызовы будут проигнорированы.
Использование¶
Предварительная загрузка при рендеринге¶
Вызовите preloadModule
при рендеринге компонента, если вы знаете, что он или его дочерние компоненты будут использовать определенный модуль.
1 2 3 4 5 6 |
|
Если вы хотите, чтобы браузер начал выполнять модуль немедленно (а не просто загрузил его), используйте preinitModule
. Если вы хотите загрузить скрипт, который не является модулем ESM, используйте preload
.
Предварительная загрузка в обработчике события¶
Вызовите preloadModule
в обработчике события перед переходом на страницу или в состояние, где потребуется модуль. Это позволит запустить процесс раньше, чем если бы вы вызвали его во время рендеринга новой страницы или состояния.
1 2 3 4 5 6 7 8 9 10 11 |
|
Источник — https://react.dev/reference/react-dom/preloadModule