preconnect
preconnect te permite conectarte anticipadamente a un servidor desde el cual esperas cargar recursos.
preconnect("https://example.com");Referencia
preconnect(href)
Para preconectarte a un host, llama a la función preconnect de react-dom.
import { preconnect } from 'react-dom';
function AppRoot() {
preconnect("https://example.com");
// ...
}Ver más ejemplos a continuación.
La función preconnect proporciona al navegador una sugerencia de que debería abrir una conexión al servidor dado. Si el navegador decide hacerlo, esto puede acelerar la carga de recursos desde ese servidor.
Parámetros
href: una cadena. La URL del servidor al que deseas conectarte.
Devuelve
preconnect no devuelve nada.
Advertencias
- Múltiples llamadas a
preconnectcon el mismo servidor tienen el mismo efecto que una sola llamada. - En el navegador, puedes llamar a
preconnecten cualquier situación: mientras renderizas un componente, en un Efecto, en un controlador de eventos, y así sucesivamente. - En el renderizado del lado del servidor o al renderizar Componentes de Servidor,
preconnectsolo tiene efecto si lo llamas mientras renderizas un componente o en un contexto asíncrono que se origina al renderizar un componente. Cualquier otra llamada será ignorada. - Si conoces los recursos específicos que necesitarás, puedes llamar a otras funciones que comenzarán a cargar los recursos de inmediato.
- No hay beneficio en preconectarse al mismo servidor en el que está alojada la página web, porque ya se habrá conectado para cuando se dé la sugerencia.
Uso
Preconexión al renderizar
Llama a preconnect al renderizar un componente si sabes que sus hijos cargarán recursos externos desde ese host.
import { preconnect } from 'react-dom';
function AppRoot() {
preconnect("https://example.com");
return ...;
}Preconexión en un controlador de eventos
Llama a preconnect en un controlador de eventos antes de hacer la transición a una página o estado donde se necesitarán recursos externos. Esto inicia el proceso antes que si lo llamas durante el renderizado de la nueva página o estado.
import { preconnect } from 'react-dom';
function CallToAction() {
const onClick = () => {
preconnect('http://example.com');
startWizard();
}
return (
<button onClick={onClick}>Start Wizard</button>
);
}