Skip to content

Instantly share code, notes, and snippets.

@Armenvardanyan95
Created May 27, 2020 08:49
Show Gist options
  • Save Armenvardanyan95/7be860fd04591f076486a85bf9ceac51 to your computer and use it in GitHub Desktop.
Save Armenvardanyan95/7be860fd04591f076486a85bf9ceac51 to your computer and use it in GitHub Desktop.
const loadData = createAction('[Home Page] Load Data');
const loadDataSuccess = createAction(
'[Home Page] Load Data',
props<{payload: object}>(),
);
const _dataReducer = createReducer(
{},
on(loadDataSuccess, (state, {payload}) => ({...state, ...payload})),
);
@Injectable()
export class DataEffects {
loadData$ = createEffect(() => this.actions$.pipe(
ofType(loadData),
mergeMap(() => this.dataService.getData().pipe(
map(payload => loadDataSuccess({payload})),
)),
));
constructor(
private readonly actions$: Actions,
private readonly dataService: DataService,
) {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment