mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
def2ce7eda
Add an example how to use `@quentin-sommer/react-useragent` with next. I've been asked this https://github.com/quentin-sommer/react-useragent/issues/10 and plan to link this example as reference! See readme for details
48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/zeit/next.js/tree/master/examples/with-react-useragent)
|
|
|
|
# react-useragent example
|
|
|
|
Show how to setup [@quentin-sommer/react-useragent](https://github.com/quentin-sommer/react-useragent) using next.js client side and server side rendering.
|
|
|
|
## How to use
|
|
|
|
### Using `create-next-app`
|
|
|
|
Execute [`create-next-app`](https://github.com/segmentio/create-next-app) with [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) or [npx](https://github.com/zkat/npx#readme) to bootstrap the example:
|
|
|
|
```bash
|
|
npx create-next-app --example with-react-useragent with-react-useragent-app
|
|
# or
|
|
yarn create next-app --example with-react-useragent with-react-useragent-app
|
|
```
|
|
|
|
### Download manually
|
|
|
|
Download the example:
|
|
|
|
```bash
|
|
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-react-useragent
|
|
cd with-react-useragent
|
|
```
|
|
|
|
Install it
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
# or
|
|
yarn
|
|
yarn dev
|
|
```
|
|
|
|
## The idea behind the example
|
|
|
|
This example shows how to add user-agent awarness to your next.js app and set it up for server side rendering. It will enable you to directly detect the device from the server side.
|
|
|
|
You can then decide what to render depending on the device. For example:
|
|
|
|
- Smaller image for phones
|
|
- Dedicated download button fos iOS devices.
|
|
|
|
The example uses the `pages/_app.js` file to automatically injectuser-agent detection in all your pages.
|