Мой проект использует 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