Нет инструментов Redux при рендеринге на стороне сервера с использованием nextjs - PullRequest
0 голосов
/ 19 ноября 2018

Я использовал nextjs / reduxSaga / expressJs для создания простого приложения todo.У меня проблема при рендеринге моего приложения с использованием моего сервера nodejs, мои инструменты приращения не работают, но действие отправляется нормально.

Я говорю «когда я использую свой сервер nodejs», потому что при использовании тестового сервера, предоставленногоNextJS кажется, все работает правильно.Код магазина:

import {createStore, applyMiddleware, compose} from 'redux'
import createSagaMiddleware from 'redux-saga'

import taskReducer from './reducers/tasks'
import {watchFetchTask} from './sagas'

const sagaMiddleware = createSagaMiddleware()

const bindMiddleware = (middleware) => {
    if (process.env.NODE_ENV !== 'production') {
      const { composeWithDevTools } = require('redux-devtools-extension')
      return composeWithDevTools(applyMiddleware(...middleware))
    }
    return applyMiddleware(...middleware)
  }

function configureStore () {
  const store = createStore(
    taskReducer,
    bindMiddleware([sagaMiddleware])
  )

  store.runSagaTask = () => {
    store.sagaTask = sagaMiddleware.run(watchFetchTask)
  }

  store.runSagaTask()
  return store
}
export default configureStore

Код обслуживания Nodejs:

exports.index = (req, res) => {
    handle(req, res)
} 

где дескриптор:

const dev = process.env.NODE_ENV !== 'production'
const nextapp = next({dev})
const handle = nextapp.getRequestHandler()

Я не вижу, как это может работать, поскольку bindMiddlewareсрабатывает на сервере.Как я могу заставить его работать с моим сервером nodejs?

...