如何连接 angular 中的两个状态?

How to concatenate two states in angular?

我有状态

export interface ChatMessagesState {
  messages: Message[] | null;
  chatId: string;
}

在websocket中,数据可能会是这样的

newMessages: Message[] = [
{
    text: 'Hello',
    chatId: '100'
},
{
    text: 'Hello 2',
    chatId: '101'
}
]

所以,如果 chatId 匹配,我想更新向状态添加一条单独的消息(连接它们),如果不匹配,则不添加。这应该在哪里完成,在减速器中?还是立面?

reducer 中应该存在该逻辑,因为它保存状态。 这意味着您可以轻松地读取 reducer 中的状态来决定它是否应该附加消息。 在我的应用程序中,所有检查 what/if 更新状态所需的逻辑都存在于 reducer 中。