--- title: preconnect --- `preconnect` lets you eagerly connect to a server that you expect to load resources from. ```js preconnect("https://example.com"); ``` --- ## Reference {/*reference*/} ### `preconnect(href)` {/*preconnect*/} To preconnect to a host, call the `preconnect` function from `react-dom`. ```js import { preconnect } from 'react-dom'; function AppRoot() { preconnect("https://example.com"); // ... } ``` [See more examples below.](#usage) The `preconnect` function provides the browser with a hint that it should open a connection to the given server. If the browser chooses to do so, this can speed up the loading of resources from that server. #### Parameters {/*parameters*/} * `href`: a string. The URL of the server you want to connect to. #### Returns {/*returns*/} `preconnect` returns nothing. #### Caveats {/*caveats*/} * Multiple calls to `preconnect` with the same server have the same effect as a single call. * In the browser, you can call `preconnect` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preconnect` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. * If you know the specific resources you'll need, you can call [other functions](/reference/react-dom/#resource-preloading-apis) instead that will start loading the resources right away. * There is no benefit to preconnecting to the same server the webpage itself is hosted from because it's already been connected to by the time the hint would be given. --- ## Usage {/*usage*/} ### Preconnecting when rendering {/*preconnecting-when-rendering*/} Call `preconnect` when rendering a component if you know that its children will load external resources from that host. ```js import { preconnect } from 'react-dom'; function AppRoot() { preconnect("https://example.com"); return ...; } ``` ### Preconnecting in an event handler {/*preconnecting-in-an-event-handler*/} Call `preconnect` in an event handler before transitioning to a page or state where external resources will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. ```js import { preconnect } from 'react-dom'; function CallToAction() { const onClick = () => { preconnect('http://example.com'); startWizard(); } return ( ); } ``` --- ## Sitemap [Overview of all docs pages](/llms.txt)