https://medium.com/front-end-hacking/an-intro-to-ngrx-effects-ngrx-store-with-angular-4-c55c4d1d5baf감속기가 반환 한 상태가 같은 모양을 따라야합니까?
https://github.com/aravindfz/ngrx-store-demo (코드)
이 튜토리얼을 바탕으로, 나는. 상태 감속기가. 난 항상 만회 다음 응용 프로그램 상태를 반환하는 응용 프로그램 전체 감속기해야한다 생각 반환해야와 혼란 스러워요 그러나 이 가이드 필터링을 수행하는 데 사용되는 상태를 반환이 authorFilter
감속기를 갖는다.
// reducer: authorFilter
export const authorFilter = (state = blogs => blogs, action: any) => {
switch (action.payload && action.payload.type) {
case 'All': {
return blogs => blogs;
}
case 'Other': {
return blogs => blogs.author === action.payload.value;
}
default: {
return state;
}
}
};
메인 만회
때그런 다음 다른 상태가 다른 감속기 (블로그 및 authorFilter)에 반환 이후
ngOnInit() {
this.blogs$ = Observable.combineLatest(
this.store.select('blog'),
this.store.select('authorFilter'),
(blogs: any, authorFilter: any) => {
return blogs.data ? blogs.data.filter(authorFilter) : [];
}
);
this.loadBlogs();
}
ngOnChanges() {
}
loadBlogs() {
this.store.dispatch(this.blogActions.loadBlogs('All'));
}
주요 구성 요소에, 나는 다른 저장소로 다음 고려해야한다? 같은 모양을 공유하는 응용 프로그램 상태라면 상태라고 생각했습니다.