У меня есть эта конфигурация при использовании response-redux connect ().
const mapStateToProps = state => ({
...state
});
const mapDispatchToProps = dispatch => ({
addMessage: msg => dispatch(addMessage(msg))
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(RoomChat);
При использовании this.props.chats
я получаю "TypeError: Cannot read property 'map' of undefined"
.
Это состояние, массивобъектов, которые имеют поля 'username' и 'content':
chats = [{ content: '', username: '' }]
Это определяется в RoomChat.js следующим образом:
this.state = {
chats: []
};
Это store.jsгде определено резервное хранилище:
import { createStore } from 'redux';
import MessageReducer from './reducers/MessageReducer';
function configureStore(chats = [{ content: '', username: '' }]) {
return createStore(MessageReducer, chats);
}
export default configureStore;
Редуктор:
export default (state, action) => {
switch (action.type) {
case 'addMessage':
return {
content: action.text,
username: 'R'
};
default:
return state;
}
};
действие:
export function addMessage(text) {
return { type: 'addMessage', text };
}
Что здесь не так? Я пробовал несколько конфигураций безпока успех