Я пытаюсь работать с магазином ngrx и столкнулся с проблемой, чтобы правильно отправить данные в свой магазин и выбрать их.
Мой объект магазина выглядит так
AppStore = {
chat: {
messages: []
}
}
и мои редукторы выглядят как
const initialState = {
messages: []
};
export const ChatReduce = (state = initialState, action:Action) => {
if (typeof state === 'undefined') {
return initialState;
}
switch(action.type){
case 'ADD_MESSAGE':
return {
...state,
messages: [...state.messages, action.payload]
};
default:
return state;
}
};
в случае «ADD_MESSSAGE» я хочу отправить новый объект сообщения из полезной нагрузки действия и вернуть новое состояние. Что я делаю неправильно? Прямо сейчас массив сообщений чата моего состояния просто перезаписывает одно значение каждый раз, когда я нажимаю новое сообщение, но старые сообщения не сохраняются.
А после записи в хранилище, как выбрать сообщения о моем состоянии? Обязательно ли подписываться на данные? Я пробовал this.store.select('chat')
, но как получать сообщения?