Я получаю следующую ошибку при совершении вызова извлечения и отправке некоторых значений через функцию connect в программе redux в хранилище.
Unhandled Rejection (Error): Actions must be plain objects. Use custom middleware for async actions.
Я видел пару вопросов об этой ошибке, но ни один из них не был достаточно близок к моему делу и моей способности понять проблему. Я читал об использовании "thunk" в некоторых случаях, но в других случаях люди называли эту ошибку чем-то, что просто не настроено прямо в приставке, поэтому я не уверен, что именно здесь происходит.
Это вызов выборки, сделанный в классе Chat.js:
async sendAtStart() {
var msg;
await fetch(
'*********',
{
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: JSON.stringify({ inputText: 'hello' })
}
)
.then(r => r.json())
.then(r => {
msg = r.msg;
});
this.props.addMessage(msg);
}
Это функция подключения в конце Chat.js:
const mapStateToProps = state => ({
...state
});
const mapDispatchToProps = dispatch => ({
addMessage: () => dispatch(addMessage)
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(Chat);
Это магазин:
import { createStore } from 'redux';
import MessageReducer from './reducers/MessageReducer';
function configureStore(state = { text: '', key: '' }) {
return createStore(MessageReducer, state);
}
export default configureStore;
Действия:
export function addMessage(text) {
return { type: 'addMessage', text };
}
Переходники:
export default (state, action) => {
switch (action.type) {
case 'addMessage':
return {
text: action.text
};
default:
return state;
}
};
Где именно проблема в моем случае?