作为返回未定义的调度操作的一部分将值传递到商店
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,
};
})
);
我想将一个值传递到我的商店以更新当前值。
最好的方法是什么?
我已经尝试了以下操作,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,
};
})
);