rsnext/examples/progressive-render
Max Proske 5dd4999b64
Convert many examples to TypeScript (#41825)
Strategized with @balazsorban44 to open one larger PR, with changes to individual examples as separate commits. 

For each example, I researched how multiple realworld codebases use the featured technology with TypeScript, to thoughtfully convert them by hand - nothing automated whatsoever.

## Documentation / Examples

- [X] Make sure the linting passes by running `pnpm lint`
- [X] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2022-10-26 20:28:55 +00:00
..
components Convert many examples to TypeScript (#41825) 2022-10-26 20:28:55 +00:00
pages Convert many examples to TypeScript (#41825) 2022-10-26 20:28:55 +00:00
.gitignore Update default gitignore templates (#39051) 2022-07-26 20:08:40 -05:00
package.json Convert many examples to TypeScript (#41825) 2022-10-26 20:28:55 +00:00
README.md docs(examples): improve DX while copying command to create new project (#38410) 2022-07-26 21:57:48 -05:00
tsconfig.json Convert many examples to TypeScript (#41825) 2022-10-26 20:28:55 +00:00

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

Deploy your own

Deploy the example using Vercel or preview live with StackBlitz

Deploy with Vercel

How to use

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

npx create-next-app --example progressive-render progressive-render-app
yarn create next-app --example progressive-render progressive-render-app
pnpm create next-app --example progressive-render progressive-render-app

Deploy it to the cloud with Vercel (Documentation).