The Counter-Example stores an object as state
[examples/angular-tour-of-heroes] / src / app / reducers / vorgang.ts
1 import { createReducer, on } from '@ngrx/store';
2 import { increment, decrement, reset } from '../actions/vorgang';
3
4 export interface State {
5   counter: number;
6 }
7
8 export const initialState: State = { counter: 0 };
9
10 const REDUCER = createReducer(initialState,
11   on(increment, state => {
12     return { counter: state.counter + 1 };
13   }),
14   on(decrement, state => {
15     return { counter: state.counter - 1 };
16   }),
17   on(reset, state => {
18     return { counter: 0 };
19   }),
20 );
21
22 export function reducer(state, action) {
23   return REDUCER(state, action);
24 }