0

我有一个连接到 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 运行良好。

4

0 回答 0