我有一个连接到 NGRX 商店的简单 Angular 组件。它适用于实时应用程序,但不适用于 Storybook 渲染。
我创建了一个简单的操作,它应该在 ngOnInit() 函数中触发。我已经记录了减速器,可以看到动作被调用并触发了减速器,但是在 Storybook 中查看时,ReduxDevTools 中的数据没有更新。
为什么是这样?有没有在 Storybook 中使用带有 Angular NGRX 的 ReduxDevTools 的解决方案?
示例:(在实时应用程序中工作 - 在 Storybook 中不工作)在组件中:
ngOnInit() { this.store.dispatch( loadAccountDebtor({accountId: 300, debtorId: 300}) ); }
在减速器中:
....
export const currentAccountDebtorReducer = createReducer(
accInitialState,
on(Actions.loadAccountDebtor, (accstate, action) => {
console.log('loadAccountDebtor::', accstate, action);
return accstate}),
on(Actions.loadAccountDebtorSuccess, (accstate, action) => {
console.log('loadAccountDebtorSuccess::', action.currentAccountDebtor);
return action.currentAccountDebtor}),
on(Actions.loadAccountDebtorFailure, (accstate, action) => ({
...accstate,
currentAccountDebtor: null,
error: action.error}))
);
loadAccountDebtor 操作触发 Api 服务调用(使用 action.payload)。成功时触发 Success 操作,这会更新 Store。(但 Storybook ReduxDevTools 中没有任何更新)
在 Live App 中,ReduxDevTools 运行良好。