Я хотел бы использовать redux-thunk для асинхронного действия redux, но redux возвращает ошибку: «Действия должны быть простыми объектами. Используйте специальное промежуточное ПО для асинхронных действий».
Я не использую веб-пакет, вместо этого я объединяю все файлы js в один файл. Я знаю, что моя проблема может быть вызвана этим, но пока мне нужно решение без веб-пакета, если это возможно.
Вот определение магазина
const pricingStore = Redux.createStore(
pricingReducer,
Redux.applyMiddleware(window.ReduxThunk.default)
// using UMD redux-thunk from https://npmcdn.com/[email protected]/dist/redux-thunk.min.js
);
const {Provider} = ReactRedux;
$(document).ready(() => {
const pricingContainer = document.getElementById('containerPricing');
if (pricingContainer) {
parsePricingData();
const render = () => {
ReactDOM.render(
<Provider store={Redux.createStore(pricingReducer)}>
<Pricing />
</Provider>,
pricingContainer
);
};
render();
pricingStore.subscribe(render);
}
});
Вот действие
function uploadInvoices() {
console.log('works here');
return function () {
console.log('doesnt log this msg');
return null;
};
}
Призыв к действию
const { connect } = ReactRedux;
let FileUpload = ({dispatch}) => {
return (
<input type="file" name="image" multiple onChange={(e) => dispatch(uploadInvoices())} />
);
};
FileUpload = connect()(FileUpload);
Пожалуйста, помогите мне с решением