0

我在 ngrx 商店中维护了一个对象,如下所示 -

{
 .
 .
 callStatus: ClientStatus;
 .
 .
}

和 ClientStatus 是一个进一步的嵌套接口,如 -

interface ClientStatus {
 status: boolean;
 csrObject: csrStatus;
}

现在在 API 响应中,我正在获取需要更新的单个用户类型的 csrStatus 更新值。但是当我尝试 -

adapter.updateOne(
{
  id: client.id,
  changes: { callStatus.csrObject: action.response }
})

我收到错误消息,因为我在更新时不允许访问给定密钥的子属性。

有谁知道我该如何解决这个问题?

4

1 回答 1

0

我认为您需要稍微更正您的代码:

adapter.updateOne({
    id: client.id,
    csrObject: action.response
  },
  state,
})

ngrx 文档说第一个参数是部分实体对象,第二个参数是实体的状态:

  on(UserActions.updateUser, (state, { update }) => {
    return adapter.updateOne(update, state);
  }),
于 2020-04-23T18:04:17.943 回答