Задать вопрос
AltaiR-05
@AltaiR-05

Правильно ли передавать callback в middleware?

Насколько это хорошая идея передавать коллбеки в middleware и вызывать их там, или же правильнее в componentDidUpdate это делать?

// component.js
class LoginPage extends Component {

  // ...

  onSubmit = (values) => {
    const { dispatch } = this.props;

    dispatch(
      login(
        values,
        (token) => localStorage.setItem('accessToken', token),  // success callback, который будет вызван в middleware
        (error) => console.log(error.message) // error callback, который будет вызван в middleware
      )
    );
  }

}

// actions.js
function loginAction(payload, onSuccess, onError) {
  return {
    type: LOGIN,
    payload,
    onSuccess,
    onError,
  }
}

// middleware.js
function handleLogin(action) {
  const { payload, onSuccess, onError } = action;
  try {
    // login...
    onSuccess(token);
  } catch(error) {
    onError(error);
  }
}
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽