无法从效果中调用操作

Unable to call an action from effect

在 angular 和 ngrx 商店概念中是新的(ngrx 和 angular 版本是 13)。

我正在尝试从 effects.ts 文件中的 createEffect 方法调用一个操作

createEffect 方法如下所示

loadData$ = createEffect(() => this.actions$.pipe(
      ofType('[Data] Load data'),
      mergeMap(() => this.myService.getDataApi()
        .pipe(
          map((data: Data[]) => ({      
            type: '[Data] Load Success',
            payload:  { data},
            selectedData:data[0],

            return setData(selectedData),
            }
          )),
          catchError((error: any) => of({
            type: '[Data] Load Failure',
            payload:  { error },
            }
          ))
        ))
    )
  );

我正在调用一个名为 getDataApi 的 API。一旦我从后端收到数据,设置 payod 和 type.Finally 正在调用 setData 并从响应中传递第一个值。

SetData 操作

export const setData = createAction(
    '[Data] Set Selected',
      props<{  selectedData: Data}>(),
  );

错误

提前致谢。

你的代码怎么了?这显然是错误的部分:

map((data: Data[]) => ({      
            type: '[Data] Load Success',
            payload:  { data},
            selectedData:data[0],

            return setData(selectedData),
            }
          )),

更改为:

switchMap((data: Data[]) => setData({ selectedData: data[0] })),