Я использую Redux для асинхронных операций, но он не будет работать.
Эта функция работает, и это просто fetch
export function getDataMiddleware({ dispatch }) {
return function (next) {
return function (action) {
if (action.type === GET_DATA) {
return fetch(`https://jsonplaceholder.typicode.com/posts`)
.then(res => res.json())
.then(
data => dispatch({ type: 'DATA_LOADED', payload: data }),
err => dispatch({ type: 'LOAD_DATA_FAILURE', err })
);
}
return next(action);
};
};
}
Эта функция не работает при использовании
// Redux Thunk
export function getDataMiddleware({ dispatch }) {
return function (next) {
return function (action) {
if (action.type === GET_DATA) {
return dispatch => fetch(`https://jsonplaceholder.typicode.com/posts`) // Redux Thunk handles these
.then(res => res.json())
.then(
data => dispatch({ type: 'DATA_LOADED', payload: data}), err => dispatch({ type: 'LOAD_DATA_FAILURE', err })
);
}
return next(action);
};
};
}
Что не так со вторым подходом, почему он не работает?