rsnext/examples/progressive-render/README.md
Dominic Elm d2caaeab64
docs: add 'Open in StackBlitz' buttons to various examples (#25853)
This PR adds a `Preview` section and a `Open in StackBlitz` button to various examples. I have tested all examples and omitted the ones that require third party API keys, or didn't work. Some examples don't work locally either.

Here's an example:
![image](https://user-images.githubusercontent.com/12571019/121027783-88971280-c7a7-11eb-851a-0ad30cf74b42.png)

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [x] Examples updated
- [ ] Telemetry added. In case of a feature if it's used or not.

## Documentation / Examples

- [x] Make sure the linting passes
2021-06-08 20:45:02 +00:00

1.9 KiB

Example app implementing progressive server-side render

Sometimes you want to not server render some parts of your application.

For example:

  1. Third party components without server render capabilities
  2. Components that depend on window or other browser only APIs
  3. Content isn't important enough for the user (eg. below the fold content)

To handle these cases, you can conditionally render your component using the useEffect hook.

This example features:

  • A custom hook called useMounted, implementing this behavior
  • An app with a component that must only be rendered in the client
  • A loading component that will be displayed before rendering the client-only component

Preview

Preview the example live on StackBlitz:

Open in StackBlitz

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example progressive-render progressive-render-app
# or
yarn create next-app --example progressive-render progressive-render-app

Deploy it to the cloud with Vercel (Documentation).