Javascript React服务器端渲染与redux saga

Javascript React服务器端渲染与redux saga,javascript,reactjs,redux-saga,Javascript,Reactjs,Redux Saga,我已经将这部传奇作为 import { put, takeLatest } from 'redux-saga/effects'; import axios from 'axios'; import { FETCH_CARD_LIST_DATA_FROM_API, SET_CARD_LIST } from './CardList.actions'; import constants from '../../../../constants'; export default function

我已经将这部传奇作为

import { put, takeLatest } from 'redux-saga/effects';
import axios from 'axios';

import { FETCH_CARD_LIST_DATA_FROM_API, SET_CARD_LIST  } from 
'./CardList.actions';
import constants from '../../../../constants';

export default function * fetchCardListSaga(){
 yield takeLatest(FETCH_CARD_LIST_DATA_FROM_API, fetchDataFromAPI)
}



function * fetchDataFromAPI(action){
const { payload } = action;
const response = yield 
axios.get(`${constants.API_URL}/hotels/${payload[0]}/${payload[1]}`);
  console.log('data recieved from api server', response.data.length);
if(response.status === 200){
  yield put({
    type: SET_CARD_LIST,
    payload: response.data
  });
 }
}
在server.js上

const sagaMiddleWare = createSagaMiddleware();
const store =  createStore(rootReducer, initialState, 
applyMiddleware(sagaMiddleWare));
sagaMiddleWare.run(fetchCardListSaga);
现在,我如何分派操作,以便从API服务器获取数据,然后在服务器上调用res.send

我知道如何让它在工作中发挥作用 客户端使用react-redux。服务器端的问题是如何分派操作,以及如何在从服务器发送响应之前等待,直到存储更新。

您可以通过获取
store
参考并调用
store.dispatch
来分派操作,但您不能等待事件的发生。而且,您不能手动调用saga并对其进行
yield
,因为它依赖于saga中间件

我将把请求放在一个helper函数中,在没有saga的情况下在服务器上获取数据,并以这种方式发送响应。并在传奇中使用相同的辅助功能


老实说,我不会在SSE上使用中间件。

但是next.js是怎么做到的呢?我想这不是一个传奇故事