Задать вопрос

Как настроить loader при загрузке данных через get запрос?

Здравствуйте.
Загружаю репозитории, через api github и хочу в момент загрузки, пока на стороне клиента данные не будут получены показывался "Loader". Проблема в том, что данные подгружаются и запрос выполняется, но при этом loader не работает, т.к. setIsFetching(true/false) не срабатывает. Пробовал так же через case в самом reposReducer делать, но там тоже проблема вылазит и get запрос не выполняется вообще. Помогите советом, что делаю не так?
Сам запрос:
repos.js :
export const getRepo = async  (userName, repoName, setRepo) => {
    setIsFetching(true);
        const response = await axios.get(`https://api.github.com/repos/${userName}/${repoName}`);
    setRepo(response.data);
    setIsFetching(false);
}

reposReducer.js:
const initialState  = {
    items: [],
    isFetching: true.
    ...
}

export default  function reposReducer(state = initialState , action) {
    switch (action.type) {
        case... ,
        default:
            return state
    }
}

export ...

Компонент :
const {username, reponame} = useParams();
    const [repo, setRepo] = useState({});
    const isFetching = useSelector(state => state.repos.isFetching);
    useEffect(() => {
        getRepo(username, reponame, setRepo);
    }, []);
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы