从fetch配置react redux中间件

时间:2017-05-03 01:37:58

标签: redux react-redux

我有一个Redux中间件,需要通过服务器调用(例如,#include <cmath> float dot(Vec3 a, Vec3 b) //calculates dot product of a and b { return a.x * b.x + a.y * b.y + a.z * b.z; } float mag(Vec3 a) //calculates magnitude of a { return std::sqrt(a.x * a.x + a.y * a.y + a.z * a.z); } int main() { Vec3 v1, v2; v1.x = 203; v1.y = 355; v1.z = 922; v2.x = 6; v2.y = 13; v2.z = 198; float angle = std::acos(dot(v1,v2)/(mag(v1)*mag(v2))); } )配置一些数据,这是异步/需要承诺。

但是,fetch such as this one的每个示例似乎都使用Singleton模式进行存储。这意味着在我的提取完成之前,商店会被初始化。因为它是中间件,所以在调用createStore之后我无法“重新配置”它。

如何在不使用单例模式配置中间件的情况下配置createStore

1 个答案:

答案 0 :(得分:1)

你如何获取这些数据?如果它只是一个简单的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
  });