Redux ngrx中的参数化选择器具有未知类型

Redux ngrx中的参数化选择器具有未知类型,redux,rxjs,ngrx,Redux,Rxjs,Ngrx,我有一个ngrx/entity存储区,我想使用一个参数选择所有实体,并将其绘制在表格中 我做了如下选择 export const selectByAdvertiserId = () => createSelector(selectAllUsers, (users: Array<EntityUser>, props: { advertiserId: string }) => users.filter((u) => u.advertiserId === pr

我有一个
ngrx/entity
存储区,我想使用一个参数选择所有实体,并将其绘制在表格中

我做了如下选择

export const selectByAdvertiserId = () =>
  createSelector(selectAllUsers, (users: Array<EntityUser>, props: { advertiserId: string }) =>
    users.filter((u) => u.advertiserId === props.advertiserId)
  )
问题是connect应该返回一个
可观察的
,而当前实现只在编译时返回以下错误:

类型“AdvertisersUsersListComponent”中的属性“connect”不能分配给基类型“DataSource”中的相同属性。 类型“()=>Observable”不可分配给类型“(collectionViewer:collectionViewer)=>Observable”。 类型“Observable”不可分配给类型“Observable”。 类型“未知”不可分配给类型“EntityUser[]|只读EntityUser[]”。 类型“unknown”不可分配给类型“readonly EntityUser[]”

但我不知道什么是未知类型

我改成

export const selectByAdvertiserId2 = createSelector(
  selectAllUsers,
  (users) => (advertiserId: string) => users.filter((u) => u.advertiserId === advertiserId)
)

这是正确的类型,但是我不喜欢它是一个返回的函数。我如何解决我的案例1?

我还尝试使用
作为可观察的
你能提供给stackblitz演示吗?我还尝试使用
作为可观察的
你能提供给stackblitz演示吗?
export const selectByAdvertiserId2 = createSelector(
  selectAllUsers,
  (users) => (advertiserId: string) => users.filter((u) => u.advertiserId === advertiserId)
)
  connect() {
    return this.store.pipe(
      select(selectByAdvertiserId),
      map((res) => res(this.advertiser?.id || '') || [])
    )
  }