[英]React component not getting redux's initial state set by reducer
[英]How to set Redux Reducer's initial state based on AJAX call?
使用Redux,我希望我的reducer的初始状态之一基于AJAX调用。 基本上,我使用AJAX来获取一些数据,然后将其置于Reducer的状态。 但是,由于进行了AJAX调用,在完成AJAX调用之前,将reducer初始化为初始状态。 在设置初始状态之前,如何使reducer等待AJAX调用完成?
export default () => {
const store = createStore(
combineReducers({
settings: settingsReducer,
})
);
return store;
}
var settingsDefaultState;
$.ajax({
url: 'view/content/settings.xml',
type: 'GET',
success: function(xml) {
//DOING SOME STUFF WITH THE XML FILE HERE
settingsDefaultState = {
test: "HELLO WORLD"
}
},
complete: function() {
console.log("Settings Loaded...");
}
});
export default (state, action) => {
var tempState = {...state};
switch (action.type) {
default:
return tempState;
}
}
我建议您将状态初始化为loading
状态。 这样,您可以将发生的事情反馈给用户。 然后,当ajax调用返回响应时,您将触发将状态设置为所需的下一个状态的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.