SuperPosan
@SuperPosan
Бандит

Нужна лучшая практика что бы убрать писанину в action?

export const USERS_REQUEST = 'USERS_REQUEST';
export const USERS_SUCCESS = 'USERS_SUCCESS';
export const USERS_FAILURE = 'USERS_FAILURE';
export const SEARCH_USER_REQUEST = 'SEARCH_USER_REQUEST';
export const SEARCH_USER_SUCCESS = 'SEARCH_USER_SUCCESS';
export const SEARCH_USER_FAILURE = 'SEARCH_USER_FAILURE';

export function usersRequest() {
  return {
    type: USERS_REQUEST
  }
}

export function usersSuccess(data) {
  return {
    type: USERS_SUCCESS,
    data
  }
}

export function usersFailure(error) {
  return {
    type: USERS_FAILURE,
    error
  }
}

export function searchUserRequest() {
  return {
    type: SEARCH_USER_REQUEST
  }
}

export function searchUserSuccess(data) {
  return {
    type: SEARCH_USER_SUCCESS,
    data
  }
}

export function searchUserFailure(error) {
  return {
    type: SEARCH_USER_FAILURE,
    error
  }
}


Существует ли какой то способ для того что бы оптимищировать это?
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 3
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Сначала тоже казалось "писанина", смотрел в сторону разных middleware'ов и т.д.
А потом понял - что тут проблемы лично для меня никакой нет. Открываешь старый проект, на котором нашли баг/нужно что-то добавить - и вот оно, все просто по полочкам: есть действие пользователя -> есть action creator -> есть action с определенным типом -> есть reducer ... Достаточно 10 минут, чтобы освежить в памяти "что откуда и куда", поэтому я решил не придумывать и не усложнять.
Ответ написан
Комментировать
devellopah
@devellopah
то что у тебя(разве что reducer не экспортировал по дефолту)
https://github.com/erikras/ducks-modular-redux

если кажется, что слишком много кода в одном файле, то может пойти ещё дальше
https://github.com/alexnm/re-ducks
Ответ написан
Комментировать
@Fen1kz
export const USERS_REQUEST = 'USERS_REQUEST';
export const USERS_SUCCESS = 'USERS_SUCCESS';
export const USERS_FAILURE = 'USERS_FAILURE';
export const SEARCH_USER_REQUEST = 'SEARCH_USER_REQUEST';
export const SEARCH_USER_SUCCESS = 'SEARCH_USER_SUCCESS';
export const SEARCH_USER_FAILURE = 'SEARCH_USER_FAILURE';

export const usersRequest = () => ({type: USERS_REQUEST})
export const usersSuccess = (data) => ({type: USERS_SUCCESS, data})
export const usersFailure = (error) => ({type: USERS_FAILURE, error})
export const searchUserRequest = () => ({type: SEARCH_USER_REQUEST})
export const searchUserSuccess = (data) => ({type: SEARCH_USER_SUCCESS, data})
export const searchUserFailure = (error) => ({type: SEARCH_USER_FAILURE, error})

?

Опционально без констант.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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