rsnext/examples/with-react-multi-carousel
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 Run lint-fix 2019-05-28 16:06:13 -07:00
pages fix: use key while rendering arrays (#25902) 2021-06-09 02:30:04 +00:00
src Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08: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
style.css Added example with react-multi-carousel for rendering items on the server-side (#6820) 2019-04-03 12:58:59 +02:00

react-multi-carousel example

react-multi-carousel is a React component that provides a Carousel that renders on the server-side that supports multiple items with no external dependency.

Preview

Preview the example live on StackBlitz:

Open in StackBlitz

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

Live Example: https://react-multi-carousel.vercel.app

How to use

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

npx create-next-app --example with-react-multi-carousel with-react-multi-carousel-app
# or
yarn create next-app --example with-react-multi-carousel with-react-multi-carousel-app

Deploy it to the cloud with Vercel (Documentation).

How does it work with ssr?

  • On the server-side, we detect the user's device to decide how many items we are showing and then using flex-basis to assign * width to the carousel item.
  • On the client-side, old fashion getting width of the container and assign the average of it to each carousel item.

The UI part of this example is copy paste from for the sake of simplicity. with-material-ui

Source code is hosted on the react-multi-carorusel repository.