从fetch配置react redux中间件

从fetch配置react redux中间件,redux,react-redux,Redux,React Redux,我有一个Redux中间件,它需要通过一个异步/需要承诺的服务器调用(例如,fetch)配置一些数据 然而,createStore的每个示例似乎都对存储使用单例模式。这意味着在我的获取完成之前,存储将被初始化。因为它是中间件,所以在调用createStore之后,我无法“重新配置”它 如何配置createStore而不使用单例模式来配置中间件?如何获取这些数据?如果只是一个简单的API调用。您可以轻松地等待数据返回,然后将数据传递给createStore。大概是这样的: const fetchDa

我有一个Redux中间件,它需要通过一个异步/需要承诺的服务器调用(例如,
fetch
)配置一些数据

然而,
createStore
的每个示例似乎都对存储使用单例模式。这意味着在我的获取完成之前,存储将被初始化。因为它是中间件,所以在调用createStore之后,我无法“重新配置”它


如何配置
createStore
而不使用单例模式来配置中间件?

如何获取这些数据?如果只是一个简单的API调用。您可以轻松地等待数据返回,然后将数据传递给createStore。大概是这样的:

const fetchData = () => {
  return Promise.resolve({
    data: 'Your data here'
  });
}

const initialState = window.__INITIAL_STATE__;
fetchData()
  .then((data) => {
    initialState.somethingYouNeed = data;
    const store = createStore(initialState);
    // Do the rest here
  });

我正在使用react router redux,它需要对存储的引用才能调用
syncHistoryWithStore
。我如何获得我的路由器的存储引用?大多数情况下都依赖于单例实现来实现这一点。在这个例子中仍然有很多问题。但这是一个非常好的样板。你可以在中找到答案。