Nextjs 7.0.2 getInitialProps执行多次

时间:2018-11-22 09:59:34

标签: react-redux redux-saga next.js ssr

我的项目使用的是next-redux-wrapper(2.0.0)和next-redux-saga(3.0.0),我更喜欢在服务器端通过redux-saga调用API,但是该API被多次调用。我将调用API进行一些日志记录并处理一些数据,多次调用API会使数据出错。

这是我的代码,有什么解决方法吗?

// index.js
Index.getInitialProps = async ({ ctx: { isServer, store } }) => {
  if (isServer) store.dispatch(appOnServer())
}

// saga.js
import axios from 'axios'
import { take, call } from 'redux-saga/effects'
import { actionToListen, actionToActivate } from './actions'
function * callApi {
  try {
      const data = call(axios.get, 'https://some_api_url')
      yield put(actionToActivate(data.data))
  }  catch (err) {  console.log(err) } 

}
function * rootSaga() {
   try {
      yield take(actionToListen())
   } catch (err) { console.log(err) }
}

export default rootSaga

0 个答案:

没有答案