AngularNgrx-在dispatch操作时,Effects没有被调用。
创始人
2024-10-28 17:01:19
0

这可能是由于在dispatch前未注入Effect源或在提供程序中未正确声明导致的。以下是一个示例:

在您的模块中引入Effects和Store模块:

import { EffectsModule } from '@ngrx/effects'; import { StoreModule } from '@ngrx/store';

@NgModule({ imports: [ StoreModule.forRoot({}), EffectsModule.forRoot([]), ... ], ... })

在您的组件或服务文件中,创建一个action并使用dispatch将其发送到store:

import { MyAction } from '../store/my-action.actions'; import { Store } from '@ngrx/store';

constructor(private store: Store) {}

triggerAction() { this.store.dispatch(new MyAction()); }

在您的Effect中,监听您的Action并执行所需的操作:

import { Injectable } from '@angular/core'; import { Actions, Effect, ofType } from '@ngrx/effects'; import { MyAction } from '../store/my-action.actions'; import { tap } from 'rxjs/operators';

@Injectable() export class MyEffect { @Effect({dispatch: false}) myAction$ = this.actions$.pipe( ofType(MyAction), tap(() => console.log('MyAction was dispatched!')) );

constructor(private actions$: Actions) {}

}

确认在提供程序中正确声明effect:

import { EffectsModule } from '@ngrx/effects'; import { MyEffect } from './my-effect.effects';

@NgModule({ imports: [ ... EffectsModule.forFeature([MyEffect]), ... ], declarations: [...], providers: [ MyEffect, ... ] })

这些步骤应该能够使Effects在dispatch操作时被正确调用。

相关内容

热门资讯

记者发布!智星德州扑克辅助挂多... 记者发布!智星德州扑克辅助挂多功能透视工具,真是真的有挂(确实有挂)1、智星德州扑克免费辅助多个强度...
玩家攻略!智星德州扑克辅助挂多... 玩家攻略!智星德州扑克辅助挂多功能透视工具,一贯存在有挂(详细教程)1.智星德州扑克 选牌创建新账号...
教学盘点!智星德州扑克辅助挂多... 教学盘点!智星德州扑克辅助挂多功能透视工具,一贯存在有挂(的确有挂)进入游戏-大厅左侧-新手福利-激...
普及知识!wpk辅助挂多功能透... 普及知识!wpk辅助挂多功能透视工具,果然真的是有挂(真实有挂)1、超多福利:超高返利,海量正版游戏...
推荐十款!wepoker辅助挂... 推荐十款!wepoker辅助挂多功能透视工具,确实存在有挂(有挂详细)1)wepoker有没有挂:进...
玩家亲测!aapoker辅助挂... 玩家亲测!aapoker辅助挂多功能透视工具,确实真的有挂(有挂透明挂)1、每一步都需要思考,不同水...
总算了解!wepoker辅助挂... 总算了解!wepoker辅助挂多功能透视工具,一贯存在有挂(有挂总结)一、wepoker游戏安装教程...
科技通报!红龙poker辅助挂... 科技通报!红龙poker辅助挂多功能透视工具,其实是有挂(有挂教程)1、下载好红龙poker脚本下载...
玩家必备教程!德扑圈辅助挂多功... 玩家必备教程!德扑圈辅助挂多功能透视工具,原来有挂(有人有挂)1、德扑圈免费辅助多个强度级别选择2、...
重大通报!德扑圈辅助挂多功能透... 重大通报!德扑圈辅助挂多功能透视工具,原来是真的有挂(有挂秘诀)1、德扑圈破解器简单,德扑圈机器人操...