作为返回未定义的调度操作的一部分将值传递到商店

Passing value into store as part of dispatch action returning undefined

我想将一个值传递到我的商店以更新当前值。

最好的方法是什么?

我已经尝试了以下操作,setSelectedCourseContentUid 设置为未定义。在我的组件中:

  setSelectedCourseContentUid(uid: string): void {
    console.log(uid);
    this.store.dispatch(builderActions.hideAddContentMenu());
    this.store.dispatch(
      builderActions.setSelectedCourseContentUid({ selectedCourseContentUid: uid })
    );
  }

builder.actions.ts

export const setSelectedCourseContentUid = createAction(
  '[Builder] Set Selected Course Content Uid',
  props<{ selectedCourseContentUid: string }>()
);

builder.reducer.ts

export const builderReducer = createReducer(
  initialState,
  on(BuilderActions.setSelectedCourseContentUid, (state, { selectedCourseContentUid }) => {
    return {
      ...state,
      selectedCourseContentUid,
    };
  })
);

声明props你的行动:

export const setSelectedCourseContentUid = createAction('[Builder] Set Selected Course Content Uid', props<{ uid: String}>);

然后在你的reducer中访问:

export const builderReducer = createReducer(
  initialState,
  on(BuilderActions.setSelectedCourseContentUid, (state, {uid}) => {
    return {
      ...state,
      selectedCourseContentUid: uid,
    };
  })
);