我正在尝试使用 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')
但如何获取消息?