从fetch配置react redux中间件
我有一个Redux中间件,它需要通过一个异步/需要承诺的服务器调用(例如,从fetch配置react redux中间件,redux,react-redux,Redux,React Redux,我有一个Redux中间件,它需要通过一个异步/需要承诺的服务器调用(例如,fetch)配置一些数据 然而,createStore的每个示例似乎都对存储使用单例模式。这意味着在我的获取完成之前,存储将被初始化。因为它是中间件,所以在调用createStore之后,我无法“重新配置”它 如何配置createStore而不使用单例模式来配置中间件?如何获取这些数据?如果只是一个简单的API调用。您可以轻松地等待数据返回,然后将数据传递给createStore。大概是这样的: const fetchDa
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
。我如何获得我的路由器的存储引用?大多数情况下都依赖于单例实现来实现这一点。在这个例子中仍然有很多问题。但这是一个非常好的样板。你可以在中找到答案。