试图使此Angular + ngrx store boiler个人项目样板工作,但得到类型错误。错误消息非常简单,但是我无法在不改变可观察类型的情况下解决它。首先,运行npm start
Angular2 @ngrx商店确定但可观察到类型令我困惑
app/app.component.ts(29,9): error TS2322: Type 'Observable<{}>' is not assignable to type 'Observable<number[]>'.
Type '{}' is not assignable to type 'number[]'.
Property 'length' is missing in type '{}'.
线29时,在这里不用误差在构造函数中和是:
constructor(
private store: Store<AppState>
){
this.counter$ = store.select('counter'); // Line 29
}
在代码中,如果我更改从下面观察的类型:
counter$: Observable<number>;
收件人:
counter$: Observable<any>;
个
npm start
运行就像一个魅力,但我想知道为什么,因为我试图迫使在Obserbable
编辑号码类型:加减速代码:
import { ActionReducer, Action } from '@ngrx/store';
export const INCREMENT = 'INCREMENT';
export const counterReducer: ActionReducer<number> = (state: number = 0, action: Action) => {
switch (action.type) {
case INCREMENT:
return state + 1;
default:
return state;
}
}
谢谢@Alex,粘贴减速器代码。仍然无法完全取得突破 – FRECIA