我有这个 Saga 用于从 localStorage 检索令牌并自动登录用户
export function* authCheckState(action) {
const token = localStorage.getItem("jwt");
const expDate = localStorage.getItem("expDate");
if (!token) {
yield put(actions.logout());
} else {
const expirationDate = new Date(expDate);
if (expirationDate <= new Date()) {
yield put(actions.logout());
} else {
axios.defaults.headers.common['Authorization'] = token;
const username = localStorage.getItem('username');
// const loggedInUser = yield axios.get(`/users/${username}`);
// console.log('HERE');
yield put(actions.loginSuccess());
yield put(
actions.fireTimeout(
(expirationDate.getTime() - new Date().getTime())
// 10 * 1000 // ms
)
);
}
}
}
因此,如果我访问应用程序中的任何路径,例如“/users”,它在执行 saga 后保持不变。
现在上面的代码运行良好。但是现在我想添加一个 axios 调用来获取一些这样的数据:
const loggedInUser = yield axios.get(`/users/${username}`);
// store it in the store.
当我添加这个 axios 调用时。我被重定向到主页“/”。
之前:工作
之后:发生不工作的重定向