ActionReducerMap是一个泛型接口,用于定义一个由action类型作为键、reducer函数作为值的映射表。具体如下所示:
import { ActionReducerMap } from '@ngrx/store';
import { AppState } from './app.state';
import { reducer as todosReducer } from './todos.reducer';
import { reducer as filtersReducer } from './filters.reducer';
export const reducers: ActionReducerMap = {
todos: todosReducer,
filters: filtersReducer,
};
在这个例子中,我们定义了一个reducers常量,它是一个ActionReducerMap类型的对象,其中包含了todos和filters两个键,它们分别对应了两个reducer函数。由于我们的应用状态是AppState类型的,所以接口泛型参数应该传入AppState。
需要注意的是,每个reducer都要返回一个新的状态,不能直接修改旧的状态。在这个例子中,我们利用了ngrx/store提供的reducer工具函数,来简化reducer的编写过程。