preinitModule🌐 preinitModule – React - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - Cette fonctionnalitĂ© est disponible dans le dernier Canary - fr.react.dev

Canary (fonctionnalité expérimentale)

La fonction preinitModule n’est actuellement disponible que sur les canaux de livraison Canary et ExpĂ©rimental de React. Apprenez-en davantage sur les canaux de livraison React.

Remarque

Les frameworks basĂ©s sur React s’occupent frĂ©quemment pour vous du chargement des ressources, de sorte que vous n’aurez peut-ĂȘtre pas besoin d’appeler ces API vous-mĂȘme. Consultez la documentation de votre framework pour en savoir plus Ă  ce sujet.

preinitModule vous permet de charger et d’évaluer en avance un module ESM.

preinitModule("https://example.com/module.js", { as: "script" });

Référence

preinitModule(href, options)

Pour préinitialiser un module ESM, appelez la fonction preinitModule de react-dom.

import { preinitModule } from 'react-dom';

function AppRoot() {
preinitModule("https://example.com/module.js", { as: "script" });
// ...
}

Voir d’autres exemples plus bas.

La fonction preinitModule suggĂšre au navigateur de commencer Ă  tĂ©lĂ©charger puis d’évaluer un module donnĂ©, ce qui peut faire gagner du temps. Les modules que vous passez Ă  preinitModule sont exĂ©cutĂ©s dĂšs qu’ils ont terminĂ© leur chargement.

Parameters

  • href : une chaĂźne de caractĂšres. L’URL du module que vous souhaitez tĂ©lĂ©charger et Ă©valuer.
  • options : un objet. Il contient les propriĂ©tĂ©s suivantes :
    • as : une chaĂźne de caractĂšres obligatoire. La seule valeur autorisĂ©e est script.
    • crossOrigin : une chaĂźne de caractĂšres. La politique CORS Ă  utiliser. Les valeurs possibles sont anonymous et use-credentials.
    • integrity : une chaĂźne de caractĂšres. Une empreinte cryptographique de la ressource afin de vĂ©rifier son authenticitĂ©.
    • nonce : une chaĂźne de caractĂšres. Un nonce cryptographique autorisant la ressource dans le cadre d’une Politique de SĂ©curitĂ© de Contenu (CSP) stricte.

Valeur renvoyée

preinitModule ne renvoie rien.

Limitations

  • Plusieurs appels Ă  preinitModule avec le mĂȘme href ont le mĂȘme effet qu’un unique appel.
  • CĂŽtĂ© client, vous pouvez appeler preinitModule n’importe oĂč : lors du rendu d’un composant, dans un Effet, dans un gestionnaire d’évĂ©nement, etc.
  • Lors d’un rendu cĂŽtĂ© serveur ou du rendu de Composants Serveur, preinitModule n’a d’effet que si vous l’appelez lors du rendu d’un composant ou dans une fonction asynchrone issue du rendu d’un composant. Tout autre appel sera ignorĂ©.

Utilisation

Préinitialisation lors du rendu

Appelez preinitModule lors du rendu d’un composant si vous savez que ses enfants auront besoin de charger un module spĂ©cifique, et que vous acceptez d’évaluer ce module immĂ©diatement aprĂšs son chargement.

import { preinitModule } from 'react-dom';

function AppRoot() {
preinitModule("https://example.com/module.js", { as: "script" });
return ...;
}

Si vous souhaitez que le navigateur tĂ©lĂ©charge mais n’évalue pas le module immĂ©diatement, utilisez plutĂŽt preload. Si vous souhaitez charger et Ă©valuer un script qui n’est pas un module ESM, utilisez preinit.

PrĂ©initialisation dans un gestionnaire d’évĂ©nement

Appelez preinitModule depuis un gestionnaire d’évĂ©nement avant de passer Ă  une page ou un Ă©tat qui auront besoin de modules. Ça permet de dĂ©clencher le processus plus tĂŽt que si vous l’appeliez au sein de la nouvelle page ou suite au nouvel Ă©tat.

import { preinitModule } from 'react-dom';

function CallToAction() {
const onClick = () => {
preinitModule("https://example.com/module.js", { as: "script" });
startWizard();
}
return (
<button onClick={onClick}>DĂ©marrer l’assistant</button>
);
}