mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
c2036e1326
* 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 * Pass wrapped component's initial props into component heirarchy if they exist * Remove unnecessary sorting of array * Update Apollo example * Remove trailing comma * Update reduxRootKey * Remove unnecessary babelrc * Update with-apollo example - Remove use of deprecated 'reduxRootKey' option - Add loading indicator inside pagination button * Fix with-apollo example pagination; Pass initialState to ApolloClient * Split apollo example into two (one with and without Redux integration) * Rename createClient private function to _initClient * Set initialState default parameter inside initClient function * Remove redux dep from with-apollo example
19 lines
478 B
JavaScript
19 lines
478 B
JavaScript
import { createStore } from 'redux'
|
|
import getReducer from './reducer'
|
|
import createMiddleware from './middleware'
|
|
|
|
let reduxStore = null
|
|
|
|
export const initStore = (client, initialState) => {
|
|
let store
|
|
if (!process.browser || !reduxStore) {
|
|
const middleware = createMiddleware(client.middleware())
|
|
store = createStore(getReducer(client), initialState, middleware)
|
|
if (!process.browser) {
|
|
return store
|
|
}
|
|
reduxStore = store
|
|
}
|
|
return reduxStore
|
|
}
|