preinit
preinit
permite que você busque e avalie ansiosamente uma folha de estilo ou script externo.
preinit("https://example.com/script.js", {as: "style"});
Reference
preinit(href, options)
Para preinit um script ou folha de estilo, chame a função preinit
de react-dom
.
import { preinit } from 'react-dom';
function AppRoot() {
preinit("https://example.com/script.js", {as: "script"});
// ...
}
A função preinit
fornece ao navegador uma dica de que ele deve começar a baixar e executar o recurso dado, o que pode economizar tempo. Scripts que você preinit
são executados quando terminam de ser baixados. Folhas de estilo que você preinit são inseridas no documento, fazendo com que tenham efeito imediatamente.
Parameters
href
: uma string. A URL do recurso que você deseja baixar e executar.options
: um objeto. Ele contém as seguintes propriedades:as
: uma string obrigatória. O tipo de recurso. Seus valores possíveis sãoscript
estyle
.precedence
: uma string. Obrigatória com folhas de estilo. Indica onde inserir a folha de estilo em relação a outras. Folhas de estilo com maior precedência podem substituir aquelas com menor precedência. Os valores possíveis sãoreset
,low
,medium
,high
.crossOrigin
: uma string. A política CORS a ser utilizada. Seus valores possíveis sãoanonymous
euse-credentials
. É obrigatória quandoas
está definido como"fetch"
.integrity
: uma string. Um hash criptográfico do recurso, para verificar sua autenticidade.nonce
: uma string. Um nonce criptográfico para permitir o recurso ao usar uma Política de Segurança de Conteúdo estrita.fetchPriority
: uma string. Sugere uma prioridade relativa para buscar o recurso. Os valores possíveis sãoauto
(o padrão),high
elow
.
Returns
preinit
não retorna nada.
Caveats
- Chamadas múltiplas para
preinit
com o mesmohref
têm o mesmo efeito que uma única chamada. - No navegador, você pode chamar
preinit
em qualquer situação: enquanto renderiza um componente, em um Efeito, em um manipulador de eventos etc. - Na renderização do lado do servidor ou ao renderizar Componentes do Servidor,
preinit
só tem efeito se você chamá-lo enquanto renderiza um componente ou em um contexto assíncrono originado da renderização de um componente. Quaisquer outras chamadas serão ignoradas.
Usage
Preiniting when rendering
Chame preinit
ao renderizar um componente se você souber que ele ou seus filhos usarão um recurso específico e você estiver OK com o recurso sendo avaliado e, portanto, entrando em vigor imediatamente após ser baixado.
Example 1 of 2: Preiniting an external script
import { preinit } from 'react-dom';
function AppRoot() {
preinit("https://example.com/script.js", {as: "script"});
return ...;
}
Se você quiser que o navegador baixe o script, mas não o execute imediatamente, use preload
em vez disso. Se você quiser carregar um módulo ESM, use preinitModule
.
Preiniting in an event handler
Chame preinit
em um manipulador de eventos antes de fazer a transição para uma página ou estado onde recursos externos serão necessários. Isso inicia o processo mais cedo do que se você o chamasse durante a renderização da nova página ou estado.
import { preinit } from 'react-dom';
function CallToAction() {
const onClick = () => {
preinit("https://example.com/wizardStyles.css", {as: "style"});
startWizard();
}
return (
<button onClick={onClick}>Iniciar Assistente</button>
);
}