rsnext/examples/with-apollo/lib/initStore.js
Adam Soffer 4b257483e2 Add Apollo example (#780)
* Add minimal apollo example

* Update apollo example README

* Update apollo example demo link in README

* Fix button styles

* Fix show more button

* Alias demo url

* Include the data field on the Apollo store when hydrating

* Revert

* Include the data field on the Apollo store when hydrating per tpreusse's suggestion.

* Add example to faq section in README

* Sort by newest; Add active state to buttons

* Make optimization suggestions

* Use process.browser; inline props
2017-01-22 13:27:06 +01:00

16 lines
479 B
JavaScript

import { createStore } from 'redux'
import getReducer from './reducer'
import createMiddleware from './middleware'
export const initStore = (client, initialState) => {
let store
if (!process.browser || !window.REDUX_STORE) {
const middleware = createMiddleware(client.middleware())
store = createStore(getReducer(client), initialState, middleware)
if (!process.browser) {
return store
}
window.REDUX_STORE = store
}
return window.REDUX_STORE
}