mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
a3bec7666b
* Add yarn lockfile * Avoid storing Redux store and Apollo client in global namespace + don't create Apollo client when already existing in browser
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
|
|
}
|