@ngrxで作業しようとしている明らかな何かが欠けていると思います。ネストされたレデューサーを使用しようとしていますが、デフォルトの開始子値を返すことができるようにしたいと考えています。これは私の子供です
export const counter:Reducer<number> =
(state:number = 0, action:Action = {type:null}) => {
switch (action.type) {
私の質問は、これを使用して追加のカウンターを初期化する方法です。私の counters.ts は次のようになります
export const counters:Reducer<number[]> = (state:number[] = [], action:Action) => {
switch (action.type) {
case ADD_COUNTER:
return [counter(), ...state];
これは機能しますが、カウンターで typescript エラーが発生しました:Supplied parameters do not match any signature of call target
これを回避する方法を知りたいです。
これを提供する@ngrxを使用しています:
export interface Action {
type: string;
payload?: any;
}
export interface Reducer<T> {
(state: T, action: Action): T;
}
export class Store<T> extends BehaviorSubject<T> {
private _storeSubscription: Subscription<T>
constructor(private _dispatcher:Dispatcher<Action>, private _reducers:{[key:string]:Reducer<any>}, initialState: T) {
super(initialState);
let rootReducer = this._mergeReducers(_reducers, initialState);
this._storeSubscription = rootReducer.subscribe(this);
}