В течение нескольких дней я обдумывал проблему и просто не могу найти хорошее решение.
Короче говоря, я просто хочу, чтобы загрузчик появлялся на экране каждый раз, когда я делаю собственный запрос axios. У меня есть 6 базовых запросов с перехватчиками, такими как:
export const axiosRequest1 = axios.create({
//blabla
});
axiosRequest1.interceptors.request.use(
config => {
check();
return config;
},
error => {
return Promise.reject(error);
}
);
axiosRequest1.interceptors.response.use(
config => {
return config;
},
error => {
return Promise.reject(error);
}
);
Мне нужно сначала запустить загрузчик этого запроса и избавиться от него после последнего.
async function check() {
if (checked === false) {
checked = true;
setTimeout(callback, 699);
}
}
и обратный вызов:
function callback() {
isLoading = true;
console.log('---------------');
// and here i want to dispatch my actin from redux store with the value of isLoading.
Действие выглядит так:
const setLoader = isLoading => dispatch => {
return dispatch({
type: actionTypes.SET_LOADER,
isLoading: isLoading
});
}
export default setLoader;
Обычно я экспортирую свой магазин и вызываю создателя действия, за исключением того, что объявление магазина похоже на это.
const initStore = previousStore => {
return createStore(//bla);};
Так что, если я попробую это, будет создан новый магазин, который мне не нужен.
Кто-нибудь имеет представление о том, как я могу решить эту проблему?