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);
  }
}
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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