@Narts

Правильно ли делать запросы в action-creators?

Правильно ли делать запросы в action-creators?

Скажем, имеется файл actions.js

В нем находятся как обычные экшн-крейторы, а-ля
export const addUserAC= (value) => (
    {
        type: ADD_USER,
        payload: value
    }
);


, так и функциональные:
export const addUser= () => {
    return (dispatch) => {
        axios.get(`${server_base}/api/addUser`, {
            params: {
                id: store.getState().user.id
            }
        })
            .then(function (response) {
                dispatch(addUserAC(response.data));
            })
            .catch(function (error) {
                console.log(error);
            });
    };
};


Правильно ли это? Можно так делать?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 2
@matios
Technical Team Lead
Можно и нужно, затем их можно отсюда импортнуть в любой компонент и переиспользовать.
Ответ написан
Комментировать
GreyCrew
@GreyCrew
Full-stack developer
Описаный тобой путь вполне приемлим.

Могу ещё посоветовать:
1) Выносить всю логику запросов в саги, тогда все экшн криэйтеры будут являться чистыми функциями, что очень удобно.
2) Выносить подключения в мидлвары, что явно сокращает количество бойлерплейта и стандартизирует обращения с апи.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы