Nextjs 7.0.2 getInitialProps выполняется несколько раз - PullRequest
0 голосов
/ 22 ноября 2018

Мой проект использует next-redux-wrapper (2.0.0) и next-redux-saga (3.0.0), я предпочитаю вызывать API через redux-saga на стороне сервера, но 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
...