类型 'Observable<{}>' 不可分配给类型 'Observable<Item[]>: Rxjs

Type 'Observable<{}>' is not assignable to type 'Observable<Item[]>: Rxjs

这里ItemService item.service.ts

export const items = (state: any = [], {type, payload}) => {
   switch (type) {
     default:
        return state;
   }
};

export interface Item {
   id: number;
   name: string;
   description: string;
};

export interface AppStore {
   items: Item[];
   selectedItem: Item;
};

@Injectable()
export class ListService {
   items: Observable<Array<Item>>;
   private listModel: ItemList = new ItemList();

   constructor(private itemListApi: ItemListApi, private store: Store<AppStore>) {
       this.items = store.select('items');===>Error

    }
}

我在 this.items 中遇到错误。错误是 "Type 'Observable<{}>' is not assignable to type 'Observable"。什么地方出了错?有什么帮助吗?

试试这个:

this.items = store.select<Array<Item>>('items');

发生这种情况是因为您将 items 定义为 Observable<Array<Item>>store.select('items') 可能是 returns Observable<T>.

您可以使用类型转换告诉编译器您期望它做什么return:

this.items = <Observable<Item[]>>store.select('items');