问题标签 [ngredux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

angular - Angular 5 和 angular-rdux/store

我已经安装了 Angular 5,

"@angular-redux/store": "^7.1.0",

"redux": "^3.7.2",

这是我的 app.module.ts 构造函数:

这是我的 store.ts 文件:

和我的 app.component.ts 文件:

第一个错误:

当我单击增量按钮时,我得到表达式在检查错误后已更改。所以用谷歌搜索并添加

changeDetection: ChangeDetectionStrategy.OnPush,
所以表达式在检查错误解决后发生了变化。但在此之后,当我点击增量时,我得到了 NAN。这是控制台输出:

有人遇到过这个错误吗?你有解决办法吗?

提前致谢。

0 投票
2 回答
246 浏览

angularjs - Redux 用之前的状态覆盖模型

我目前正在结合 Redux 在 AngularJs 中制作一个示例项目。我正在努力从减速器工作中获取映射。

我有一个简单的输入,用户可以在其中设置新名称以及下拉菜单以选择“公司”。

当用户更改公司时,需要获取新属性以便用户设置这些属性。

我得到的问题是,当获取属性成功时,名称和所选公司被空值覆盖。我明白为什么这些值会被空值覆盖,并且我找到了一种让它工作的方法。

我覆盖reducer中的值的方式如下:

我现在使用扩展运算符覆盖旧状态的方式感觉很脏。我想知道是否有任何规则或指南来处理这个问题。到目前为止,我已经在互联网上搜索了一段时间,特别是 Redux 网站,但我没有遇到任何其他解决方案。

0 投票
0 回答
205 浏览

firefox - Firefox 问题:遇到此异常 { 消息:“”,结果:3253927937,名称:“NS_ERROR_NOT_INITIALIZED”..}

遇到这个异常

{ message: "", result: 3253927937, name: "NS_ERROR_NOT_INITIALIZED".. }

我们使用的是 Angular 1.5v。

ngReduxProvider.createStoreWith()仅在 Firefox 中而不是在 Chrome 中进行第二次登录时使用。当我们使用默认值初始化状态时,不会出现此问题,但之前存储的值会丢失。请查找随附的屏幕截图

火狐的问题

0 投票
1 回答
1070 浏览

javascript - 更新/推送新数据到 NgRedux 状态

我是 Angular 和编写服务的新手,我将使用它来添加新地址(发布到 REST API)。

saveAddress方法调用返回服务器上新创建的地址对象。

我想将其推送到商店中已经存在的地址数组中。我正在尝试做类似的事情:

我怎样才能正确地做到这一点?

0 投票
1 回答
509 浏览

angular - 订阅时触发 NgRedux + Angular + 选择

我已经在我的 Angular 应用程序中使用了几个星期的 redux,但我只是注意到了一些事情:

当我选择商店的一部分来监控更改时,可以这样说:

在 app.component.ts 的 ngOnInit() 中

每次我的计数器值更改时都会执行 console.log(counter),没关系,这就是它假设的工作方式。

但是,当我第一次订阅时,也会执行回调。所以它是这样的:

  1. 输入 onNgInit()
  2. 执行选择()
  3. 执行订阅()
  4. 执行我的回调
  5. ------- 稍后当计数器更改时:-------
  6. 执行我的回调

我的问题是我不希望我的回调在第 4 步执行,因为商店没有改变!

我的理解有问题吗?应该这样工作吗?如果是:我可以做些什么来改变它吗?

谢谢

0 投票
1 回答
41 浏览

javascript - Importing ng-redux just returns a string

I have problems importing ng-redux into my JS client app:

Output from console is:

So needle works but ngRedux just returns a string, why?

The folder node_modules/ng-redux looks just fine.

0 投票
1 回答
1530 浏览

angular - 出现错误 - NullInjectorError: No provider for NgRedux!在集成 redux 实现时

我正在修改现有项目以实现 redux 实现。修改了代码,编译时发现如下错误。根据我提到的学习资料,ngRedux 不需要添加到提供程序中。将其添加到提供程序后,仍然出现错误。

对组件进行了适当的更改,并制作了存储文件。

错误:

0 投票
0 回答
41 浏览

angular - 调度操作后重定向到页面 (ngredux)

我有一个 Angular 6 + ngredux 的项目,我想为下一种情况提供建议:

  • 我有一个概述详细信息页面(只读信息),其中填充了来自应用程序状态的数据。在这个页面中,我有一些按钮可以打开其他页面(这里我们有一些表单——在这些表单中,用户可以编辑一些字段)。
  • 当用户保存数据时,他应该返回到概览详情页面。由于我们使用的是 ngredux 并且我们从应用程序状态更新值,因此我们在组件中使用如下组件处理此问题:

    /li>

我们遇到的问题是,如果 API 中的“save”方法耗时 2-3 秒,则先重定向用户,然后在 app 状态下保存并更新模型(这很正常 - 我们这样做以错误的方式重定向)。

为了分派我们使用自定义中间件的操作。

因此,我想要一个关于如何处理这种情况的建议。我们是否应该在 actionsCreator 服务中注入路由器(这是正确的方法)并在调度时进行重定向(在成功的情况下)?还是来自减速机?还是仅来自组件?

0 投票
1 回答
247 浏览

javascript - 在 Redux 中监听 dispatch action

我想知道是否有办法监听已在 redux 中成功调度的操作?

在 Angular 的 ngxs 状态管理库中,我可以执行以下操作:

当我知道AddedThingToDo已成功分派时,我可以在其中执行操作。这可能类似于关闭模式,或者可能调度另一个动作。

我正在使用ng-reduxAngular 1.x,但是我认为原理应该与 react redux 相同。

我一直在解决它的唯一方法是在我的操作中进行回调,但感觉非常错误:

0 投票
1 回答
414 浏览

angular - Angular + Redux Jasmine 测试“无法读取未定义的属性'dispatch'”在运行中随机抛出

我有一个集成测试,它依赖于我通过存根提供给测试平台的 2 项服务。

当我updateCategory()在这个类别的订阅块中测试一个函数时,我有一个函数 ngRedux.dispatch({type: something})

错误:TypeError: Cannot read property 'dispatch' of undefined即使服务被存根并提供了功能,也会随机抛出。出于某种奇怪的原因,它认为这是服务的属性。

抛出此错误,无需对测试进行任何更改,只需刷新 karma 页面:

  • 每次随机测试。
  • 有时所有测试都通过,但仅在控制台中出现错误。
  • 有时它会在抛出错误后停止尝试其他测试。
  • 有时它会在所有测试都通过时抛出错误。

它是如此不可预测,它对我来说根本没有意义。

测试床配置:

测试配置:

如果没有上面的测试——错误不会被抛出。如果没有该订阅块中的调度函数,也不会抛出错误。