我有一个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
?
答案 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
});