Renders nested React components with asynchronous cached loading; useful for GraphQL clients and server side rendering.
Renders nested React components with asynchronous cached loading.
Useful for GraphQL clients (e.g. graphql-react
) and server side rendering.
For Node.js, to install react-waterfall-render
and its react
peer dependency with npm, run:
npm install react-waterfall-render react
For Deno and browsers, an example import map (realistically use 4 import maps, with optimal URLs for server vs client and development vs production):
{
"imports": {
"react": "https://esm.sh/[email protected]",
"react-waterfall-render/": "https://unpkg.com/[email protected]/"
}
}
Use the WaterfallRenderContext
in React components to declare asynchronous cached loading, and use the function waterfallRender
to server side render your React app in a fully loaded state.
Supported runtime environments:
^14.17.0 || ^16.0.0 || >= 18.0.0
.> 0.5%, not OperaMini all, not dead
.Non Deno projects must configure TypeScript to use types from the ECMAScript modules that have a // @ts-check
comment:
compilerOptions.allowJs
should be true
.compilerOptions.maxNodeModuleJsDepth
should be reasonably large, e.g. 10
.compilerOptions.module
should be "node16"
or "nodenext"
.The npm package react-waterfall-render
features optimal JavaScript module design. It doesn’t have a main index module, so use deep imports from the ECMAScript modules that are exported via the package.json
field exports
: