我正在努力做到这一点,所以当我执行 ajax 请求时,我的预加载会在请求完成(成功与否)时显示出来,它会消失。
我正在使用 Axios,他们有请求和响应的拦截器。我现在正在尝试请求。
import axios from "axios";
import {setPreLoader} from './PreLoaderActions.js';
export const axiosInstant = axios.create({
baseURL: 'http://localhost:54690/api',
timeout: 2000,
});
export const config = axiosInstant.interceptors.request.use( config => {
// Do something before request is sent
console.log('afaf');
setPreLoader(true);
return config;
}, function (error) {
// Do something with request error
// this.setPreLoader(false);
return Promise.reject(error);
});
import {actions} from './Actions.js';
export function setPreLoader(show) {
return function (dispatch) {
dispatch({ type: actions.SHOW_PRE_LOADER, payload: { showPreLoader: show } });
};
}
当我的 setPreloader(true) 被击中时,什么也没有发生。什么都没有发送。不确定我是否需要做其他事情,因为我只在 react 组件中做过,所以 redux/reactjs 可能在幕后为我做一些事情。