"axios": "^0.20.0",
"react": "^16.14.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0"
我正在使用axios,并且在useeffect中发送了一个请求,它可以正常工作,但是当我刷新页面(F5)时,我从redux获取并将其添加到axios实例中的令牌为null
axios.interceptors.request.use(
function (config) {
const token = store.getState().auth.token;
config.headers.Authorization = `Bearer ${token}`;
// Do something before request is sent
console.log("req config", config);
return config;
},
function (error) {
// Do something with request error
return Promise.reject(error);
}
);
这只是一个api调用,并且刷新后,我的令牌是'Bearer null':
useEffect(() => {
getAssessments();
getGroups();
getAssessmentUsers();
}, []);
rehydrated
刷新后,您需要等待令牌存储在您的redux存储中,这不会立即发生。如果仍然无法执行此操作,则需要验证令牌是否已持久存在redux-persist
。
useEffect(() => {
if (token) {
getAssessments();
getGroups();
getAssessmentUsers();
}
}, [token]);
更改后将触发此useEffect挂钩token
,例如:prevToken!==令牌,因此当令牌不为null时,您还需要添加if语句来执行请求
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句