rsnext/examples/with-context-api
Nick Babcock 5629223407
Update examples to use React 17 (#26133)
[With next 11 requiring react 17](https://nextjs.org/blog/next-11#upgrade-guide), most of the examples
need to be updated, so the following snippet updated all the examples to
a compatible react version.

```bash
cd examples/
fd -g 'package.json' | xargs sed -r -i 's/"react": ".*"/"react": "^17.0.2"/
fd -g 'package.json' | xargs sed -r -i 's/"react-dom": ".*"/"react-dom": "^17.0.2"/'

# exclude experimental react version
git checkout with-reason-relay/package.json
```
2021-06-16 16:43:26 +00:00
..
components chore: Remove redundant imports in several examples (#13030) 2020-05-18 13:02:23 -04:00
pages Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
package.json Update examples to use React 17 (#26133) 2021-06-16 16:43:26 +00:00
README.md docs: add 'Open in StackBlitz' buttons to various examples (#25853) 2021-06-08 20:45:02 +00:00

Hello World example

This example shows how to use react context api in our app.

It provides an example of using pages/_app.js to include the context api provider and then shows how both the pages/index.js and pages/about.js can both share the same data using the context api consumer.

We start off by creating two contexts. One that actually never changes (CounterDispatchContext) and one that changes more often (CounterStateContext).

The pages/index.js shows how to, from the home page, increment and decrement the context data by 1 (a hard code value in the context provider itself).

The pages/about.js shows how to pass an increment value from the about page into the context provider itself.

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 with-context-api with-context-api-app
# or
yarn create next-app --example with-context-api with-context-api-app

Deploy it to the cloud with Vercel (Documentation).