1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-apollo-and-redux
2017-12-06 18:12:42 -08:00
..
components Fix linting 2017-11-25 12:03:25 +01:00
lib Dropped isomorphic-fetch in examples in favor of isomorphic-unfetch. (#3230) 2017-11-04 15:05:16 +01:00
pages Fix linting 2017-11-25 12:03:25 +01:00
package.json More complete with-apollo-and-redux example with dynamic post route (#3223) 2017-11-23 14:05:51 +01:00
README.md Use canary for all example downloads (#3411) 2017-12-06 18:12:42 -08:00
server.js Fix linting 2017-11-25 12:03:25 +01:00

Deploy to now

Apollo & Redux Example

How to use

Using create-next-app

Download create-next-app to bootstrap the example:

npm i -g create-next-app
create-next-app --example with-apollo-and-redux with-apollo-and-redux-app

Download manually

Download the example or clone the repo:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-apollo-and-redux
cd with-apollo-and-redux

Install it and run:

npm install
npm run dev

Deploy it to the cloud with now (download):

now

The idea behind the example

By default, Apollo Client creates its own internal Redux store to manage queries and their results. If you are already using Redux for the rest of your app, you can have the client integrate with your existing store instead, which is what this example does. This example is identical to the with-apollo with the exception of this Redux store integration.

Note that you can acesss the redux store like you normally would using react-redux's connect as per here. Here's a quick example:

const mapStateToProps = state => ({
  location: state.form.location,
});

export default withData(connect(mapStateToProps, null)(Index));

connect must go inside withData otherwise connect will not be able to find the store.