Kin*_*one 7 javascript decorator typescript ngrx angular
createEffectngrx 中的注释与注释有什么区别@Effect?
@Injectable()
export class ContactsEffects {
constructor(
private actions$: Actions,
private contactsService: ContactsService,
private contactsSocket: ContactsSocketService
) {}
destroy$ = createEffect( () => this.actions$.pipe(
ofType(remove),
pluck('id'),
switchMap( id => this.contactsService.destroy(id).pipe(
pluck('id'),
map(id => removeSuccess({id}))
))
));
@Effect()
liveCreate$ = this.contactsSocket.liveCreated$.pipe(
map(contact => createSuccess({contact}))
);
}
Run Code Online (Sandbox Code Playgroud)
Div*_*ohn 15
@ngrx/effects\ncreateEffect 以实现类型安全\n作为@Effect()装饰器的替代方案,NgRx 8 提供了该createEffect函数。使用的优点createEffect是它\xe2\x80\x99s类型安全,如果效果不返回 anObservable<Action>则会给出编译错误。{ dispatch: false }对于不调度新操作的效果,该选项仍然存在,添加此选项还消除了效果需要返回Observable<Action>.
从NgRx 8开始默认情况下,发生这种情况时自动重新订阅效果。这为错过不愉快的路径添加了一个安全网。\n可以通过resubscribeOnError在效果级别设置为 false 来关闭此功能。\n示例:
login$ = createEffect(() => .....), { resubscribeOnError: false });\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
9434 次 |
| 最近记录: |