SSR
Apollo Client React server side rendering API
Installation
Apollo Client >= 3 includes React hooks functionality out of the box. You don't need to install any additional packages.
getDataFromTree
The getDataFromTree
function takes your React tree, determines which queries are needed to render them, and then fetches them all.
import { getDataFromTree } from "@apollo/client/react/ssr";
Params
Param | Type | description |
---|---|---|
tree | React.ReactNode | The React tree you would like to render and fetch data for. |
context | { [key: string]: any } | Optional values you would like to make available in the React Context during rendering / data retrieval. |
Result
getDataFromTree
returns a promise (Promise<string>
) which resolves when the data is ready in your Apollo Client store. The result is generated using ReactDOMServer.renderToStaticMarkup
under the hood.
Example
See Executing queries with getDataFromTree
.
renderToStringWithData
The renderToStringWithData
function is similar to getDataFromTree
, but uses ReactDOMServer.renderToString
to render its result instead of ReactDOMServer.renderToStaticMarkup
(the React docs help explain the difference).
import { renderToStringWithData } from "@apollo/client/react/ssr";
Params
Param | Type | description |
---|---|---|
component | ReactElement | The React component tree you would like to render and fetch data for. |
Result
renderToStringWithData
returns a promise (Promise<string>
) which resolves when the data is ready in your Apollo Client store. The result is generated using ReactDOMServer.renderToString
under the hood.