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操作时被正确调用。

相关内容

热门资讯

总算了解“wepoker底牌透... 总算了解“wepoker底牌透视脚本”起初有辅助开挂工具(有挂教学);无需打开直接搜索打开薇:136...
详细说明“闲逸碰胡辅助器”最初... 详细说明“闲逸碰胡辅助器”最初有辅助开挂挂(有挂辅助);无需打开直接搜索打开薇:136704302 ...
教程攻略“腾讯游戏大厅辅助器”... 教程攻略“腾讯游戏大厅辅助器”素来有开挂辅助平台(存在有挂);打开点击测试直接进入微信(136704...
安装程序教程“杭州都莱大菠萝怎... 安装程序教程“杭州都莱大菠萝怎么挂”原生有辅助开挂工具(有挂方略);无需打开直接搜索加(薇:1367...
必备攻略“微乐宁夏小程序插件”... 您好:这款微乐宁夏小程序插件游戏是可以开挂的,确实是有挂的,很多玩家在这款微乐宁夏小程序插件游戏中打...
盘点一款“途游大作战辅助”原先... 盘点一款“途游大作战辅助”原先有开挂辅助工具(真的有挂) 了解更多开挂安装加(136704302)微...
玩家必看教程“天天互娱软件”原... 您好:天天互娱软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
玩家必看攻略“hh poker... 玩家必看攻略“hh poker辅助器先试用”最初有辅助开挂软件(发现有挂);无需打开直接搜索加薇13...
重要通知“椰子辅助”先前有辅助... 重要通知“椰子辅助”先前有辅助下载(有挂秘笈)1、下载安装好椰子辅助,进入游戏主界面,点击下方的好友...
一分钟了解“腾威互娱破解辅助工... 【亲,腾威互娱破解辅助工具 这款游戏可以开挂的,确实是有挂的,很多玩家在这款腾威互娱破解辅助工具中打...