Ano*_*sSB 5 interceptor react-native mobx axios apisauce
当 API 返回 401 时,我想强制注销用户。以下代码是使用 Mobx 在 React Native Ignite 项目中编写的
import { useStores } from "../../models"
this.apisauce.axiosInstance.interceptors.response.use(response => {
return response;
}, error => {
if (error.response.status === 401) {
useStores().authStore.reset()
}
return error;
})
Run Code Online (Sandbox Code Playgroud)
对 authStore.reset() 的调用不会发生,没有错误,没有console.tron.log,什么也没有。有没有更好的做法来捕获401并触发mobx动作?没有在调用 API 的每个单独操作中处理它?
小智 0
就我而言:
// file auth.store.js
class AuthStore {
...
reset(){ ... }
}
export default new AuthStore();
Run Code Online (Sandbox Code Playgroud)
// file models.js
import authStore from 'path/to/file/auth.store.js';
export default { authStore };
Run Code Online (Sandbox Code Playgroud)
// file api-file.js
import useStores from 'path/to/file/models.js';
this.apisauce.axiosInstance.interceptors.response.use(response => {
return response;
}, error => {
if (error.response.status === 401) {
useStores.authStore.reset();
}
return error;
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
832 次 |
| 最近记录: |