Насколько это хорошая идея передавать коллбеки в 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);
}
}