已记录但未触发的操作

Posted

技术标签:

【中文标题】已记录但未触发的操作【英文标题】:Action logged but not triggered 【发布时间】:2019-01-06 18:22:39 【问题描述】:

我有一个模块,其中包含一个分派 FETCH 操作的组件,该组件从 API 获取数据,然后分派一个 RECEIVED 操作。 它运行良好。

然后我将模型、动作和状态复制到另一个模块和组件(具有不同的获取和接收),但它不起作用。记录器将操作显示为已调度,但代码未执行。

documents.action.ts

export class FetchFolders 
  static readonly type = '[Documents] Fetch folders';

  constructor(public payload: string)  

documents.state.ts

  @Action(FetchFolders)
  FetchFolders(state: StateContext<DocumentStateModel>,  payload : FetchFolders) 
    console.log('inside');
    return this.http.get(`assets/fake-data/$payload/documents.json`)
      .pipe(
        tap(result => this.store.dispatch(new ReceiveFolders(<DocumentFolder[]>result)))
      );
  

我已将代码减少到最少,以检查一切是否正常。还检查了导入(有时我从错误的库中导入)但仍然没有运气。

知道发生了什么吗?

【问题讨论】:

【参考方案1】:

所以我缺少的是向模块声明它

@NgModule(
  imports: [
    CommonModule,
    MenuModule,
    FormModule,
    RouterModule,
    NgxsModule.forFeature([DocumentState])
  ],
  declarations: [DocumentListComponent, DocumentsComponent],
  exports: [DocumentsComponent]
)
export class DocumentModule  

【讨论】:

出于某种原因,我已经在 app.module.ts 中有这个。只在第一次触发时触发,刷新页面并不会触发动作,很诡异

以上是关于已记录但未触发的操作的主要内容,如果未能解决你的问题,请参考以下文章

检测到 WatchOS 7.1 WKLongPressGesture,显示警报,但未触发操作关闭

iOS UILocalNotification 已安排,但未触发

Spring Jdbc 声明式事务已创建但未执行任何操作

GeoIP 已安装/已加载,但未返回记录

事务-update操作一点观察

Discord 机器人已启动但未响应