ngrx 相关问题

NgRx为Angular提供了一组反应库

无法从 ngrx 商店取消订阅

我对接下来的情况真的很困惑。也许我不明白浏览器中的某些内容。 我有一个订阅可以从我的 ngrx/实体商店中选择。效果很好。代码如下。 构造函数(私有...

回答 1 投票 0

Angular NgRx 订阅状态导致未定义

我在 Angular 17 中设置了一个基本的 NgRx 示例。 这是我的 app.config.ts,我在商店中注册我的减速器 导出const appConfig:ApplicationConfig = { 提供商:[provideRouter(路线),

回答 1 投票 0

从组件分派操作时未调用 ngrx 效果

我遇到了 ngrx 存储问题,没有调度一个动作来处理它。 这是尝试分派的组件: 登入() { this.formStatus.subscribed =

回答 6 投票 0

如何使用 Angular 17 独立版注册 NGRX ProvideEffects?

我是 Angular 17 的新手,关于如何将 NGRX 与新的独立模块或组件一起使用的文档非常有限。 我已经安装了 ngrx 效果: npm 安装@ngrx/effects 但现在因为我的

回答 1 投票 0

将模型变量转换为使用 NgRx 状态的正确方法是什么?

我正在尝试将我的 Ionic 应用程序转换为 NgRx。 在我的一个组件中,我有一个连接到文本区域的模型变量,如下所示: 成分: myTextVar: 字符串 = ''; 模板: 我正在尝试将我的 Ionic 应用程序转换为 NgRx。 在我的一个组件中,我有一个连接到文本区域的模型变量,如下所示: 组件: myTextVar: string = ''; 模板: <ion-textarea ... [(ngModel)]="myTextVar" ...></ion-textarea> 因此,尝试将其转换为 NgRx,我在模块缩减器中创建了一个字段: const textsFeatureKey = 'texts'; export interface TextsState { ... myTextVar: string; } export const initialState: TextsState = { ... myTextVar: '', }; export const textsReducer = createReducer( initialState, ... on(TextsActions.setMyTextVar, (state, { myTextVar }) => ({ ...state, myTextVar })), ); 一个动作: export const setMyTextVar = createAction('[Texts Page] Set myTextVar', props<{ myTextVar: string }>()); 和选择器: export const selectMyTextVar = (state: AppState) => state.texts.myTextVar; 然后在组件中我改变了这个: myTextVar$: Observable<string>; constructor( private store: Store<{ texts: any; }> ) { ... this.myTextVar$ = this.store.select(selectMyTextVar) } ngOnInit() { this.myTextVar$.subscribe(text => { console.log('mtv debug', text); }) this.store.dispatch(setMyTextVar({ myTextVar: 'some initial text'})); ... } 到目前为止一切顺利...当我这样做时,它在文本区域中加载了 myTextVar: <ion-textarea [ngModel]="myTextVar$ | async" ></ion-textarea> 但是现在...我如何更新状态?我是这样做的: <ion-textarea (ionInput)="onIonInputMyTextVar($event)" [ngModel]="myTextVar$ | async" ></ion-textarea> 然后在组件中: onIonInputMyTextVar(event: any) { this.store.dispatch(setMyTextVar({ myTextVar: event.detail.value })); } 这有效。但这对于仅仅更新模型 var 来说是不是太牵强了?我用更大且更难维护的代码替换了 2 行代码,该代码必须处理 ionInput 事件、reducer、选择器、初始化、代码中的几个选择... 让我觉得我做错了什么。也许有一种更简单的方法来转换 ngModel 变量,或者只是我不应该使用 NgRx 来处理组件中的简单变量情况。 所以我的问题是: 我这样做对吗?有没有更简单的方法来转换 ngModel var? 我真的应该这样做吗?对于像这样的简单情况,传统的[(ngModel)]='myTextVar'不是更干净吗? 这是一个简单的单组件变量。 NgRx 真正应该用在哪里?我应该只将它用于多分量数据吗? 您很困惑,因为您错过了关于 NGRX 存储的一件非常重要的事情:它用于 global 状态管理。 “全局”意味着至少在模块级别。 But isn't this too far fetched to just update a model var ? I have substituted 2 lines of code by a much larger and harder to maintain code having to handle ionInput event, reducer, selector, initialization, several selects along the code 看来你的情况就是这样。首先,您的组件看起来像一个“哑组件”,这意味着它根本不应该访问外部服务。其次,组件产生的值不会在任何地方使用,这意味着它不应该处于全局状态。第三,NGRX 是为大型应用程序创建的,而不是为任何类型的小型两组件大型副项目创建的。 在您决定将来使用任何类型的状态管理库之前,请考虑数据流: 如果您在组件中收集了一些信息,请立即将其推送到服务器,并且不要在应用程序的其他地方使用此信息或其派生物,您不需要任何类型的状态 如果你在组件中收集到一些信息,立即推送到服务器并直接在【智能】组件中使用这些信息或其衍生品,你需要一个组件存储 如果您在组件中收集一些信息,立即将其推送到服务器并在其他不相关组件或模块中使用此信息或其派生品,则需要一个应用程序范围的存储 当然,也有某些例外,但这是另一个话题了。

回答 1 投票 0

如何从状态观察者变量获取长度?

我正在学习NgRx,我需要替换这个模板代码: 对于从状态观察器获取值的代码: myVar$:观察...

回答 1 投票 0

我从哪里导入特征类型到ngrx?

我已经将ngrx更新到版本15。组装时出现错误,无法导出此类型。请告诉我。 这是我的依赖 “@角度/动画”:“^15.2.10”, ...

回答 1 投票 0

类型错误:无法分配给打字稿中对象“[object Array]”的只读属性“0”

我正在研究 Angular 8。 我有一个显示表格的页面。该表显示来自组件通过@Input() 获取的对象数组taskList 的数据。 我的列有排序功能...

回答 3 投票 0

NGRX效果仅从combineLatest中得到最终省略

我从我的服务返回一个combineLatest,它是对我的后端的请求的集合。我通过 switchMap 在我的效果中收听它。这些请求按预期工作,然后当它们全部完成时我得到......

回答 1 投票 0

RxJS 扫描和过滤与 bufferCount 问题

我在玩ngrx效果和rxjs时遇到了问题。我正在使用两个版本的效果(为了解决这个问题而进行了简化): 版本1: 公共效果$ = createEffect(() => 这个。

回答 1 投票 0

导出的变量“exampleSignalStore”具有或正在使用外部模块“”中的名称“STATE_SIGNAL”,但无法命名

我正在尝试新的 Ngrx v17 signalStore 进行状态管理,但我面临这个问题代码示例:导出的变量“artifactSignalStore”具有或正在使用来自外部的名称“STATE_SIGNAL”

回答 1 投票 0

@ngrx/entity `与@ngrx/store一起使用时无法读取未定义的属性'ids'?定义适配器时已经考虑了自定义 ID

我已经查看了与此相关的其他 2 篇文章,其中一个包含较大状态的文章不适用,而另一篇则注册了多个 forFeature ——我已经做了一些测试...

回答 5 投票 0

Ngrx 选择器返回初始状态

我是 NgRx 的新手,我的选择器返回空白初始状态,而不是使用从效果中的 API 请求获取的数据。 当我在 home.component.ts 中使用选择器时,我...

回答 1 投票 0

ngrx:如何在效果之前和之后调用减速器

我想修复以下警告:ESLint:禁止在“Effect”中调用“store.dispatch”。 所讨论的效果通常是这样的: 使用减速器锁定存储中的数据 更新后端...

回答 1 投票 0

Ngrx 选择器返回部分对象

我正在尝试设置 ngrx 并且我已经快到了,我只是无法让选择器返回正确对象类型的 Observable。目前正在返回部分< Observable < Product >...

回答 1 投票 0

使用 observables + 选择器和 ngx-cookie-service 在模板中显示 cookie 值的最佳方式是什么?

我很好奇是否有一种很好的方法来使用可观察量来实时获取 cookie 值,即“反应式”cookie? 可能的解决方案显示在

回答 1 投票 0

模拟导数可观察流

我无法在 Jest/Angular 应用程序中正确模拟衍生的 Observable 流。 基本上我需要测试NgRx的效果。 导出常量取消$ = createEffect( ( 动作$ =注入(动作),

回答 1 投票 0

Angular Ngrx store.reduce 不是函数

我正在尝试使用 Angular 的独立 API 来实现 Ngrx,如下所示: 从 '@angular/core' 导入 { Component, OnInit }; 从'../data.service'导入{DataService}; 导入 { CartItem, Product } fr...

回答 1 投票 0

获取 TS2344:类型“T”不满足约束“对象”。干净的 npm 安装后来自 Angular 库

我有一个 Angular 应用程序,它一直在构建和运行得很好,但是当我添加 Angular/material 时遇到了一些奇怪的 npm 依赖问题,所以我删除了 package-lock.json 和我的

回答 2 投票 0

如何在使用 NRGX 分派 Angular 操作后同步调用方法

我有一个方法可以调度一个动作,然后触发一个效果,然后触发一个服务,该服务将捕获/处理触发动作的错误。 我的问题是当我发送一个动作时......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.