问题标签 [fluxor]

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 回答
180 浏览

.net - 使用 Fluxor 的 Blazor State:ActionSubscriber 或 SubscribeToAction 哪个更好用?

我是使用 Blazor 和 Fluxor 的新手,我试图决定什么更好用

IActionSubscriber - 手动注入、订阅和取消订阅

或者

继承 FluxorComponent - 并使用 ActionSubscriber

什么是最好的解决方案?有什么好处和坏处?

0 投票
2 回答
440 浏览

blazor - 使用 bUnit 和 Moq 测试使用 Fluxor 的剃须刀组件

我在我的 Blazor 应用程序的一个 razor 组件中使用 Fluxor 进行状态管理,但我不确定如何设置它以使用 Moq 进行测试。我不能仅仅为学生分配一个价值,因为它是一个仅限于初始化的属性。是否有特定的方法来设置 Fluxor 进行测试?

代码

0 投票
0 回答
93 浏览

redux - 带有 Fluxor 的 Blazor:我可以拥有同一商店的多个实例吗?

有没有办法拥有多个商店实例?我实际上是在尝试用缩略图(包含按钮和其他东西)填充网格布局。我想使用同一商店的自己的实例将项目外包到一个单独的组件中。

我不知道这是否是一个好的解决方案。这是我迄今为止唯一想到的。任何人都有更好的想法如何解决这个问题?

对我来说重要的是每个缩略图在其组件被渲染时被加载。在加载时,它应该显示一个加载微调器。

我的 .Net Core MVC 实现的屏幕截图

0 投票
0 回答
62 浏览

c# - 使用fluxor an Blazor登录后无法获取状态

我想在应用程序 Blazor 程序集中实现状态管理,所以我添加了 Fluxor 作为库。

我创建了一个包含共享属性的抽象根状态:

然后,我创建了继承自 Rootstate 的登录状态:

之后,我创建了要素类:

然后是动作:

之后,我创建了 Reducer 和 Effect:

影响:

当我想用这条指令调用调度程序时,dispatcher.Dispatch(new LoginAction(new LoginDto { Email = "test@email.com", Password = "test" }));我在 DevTools 中得到了结果,但没有数据,IState<LoginState>所以我无法访问状态。请问我的代码有什么错误吗?

0 投票
0 回答
84 浏览

c# - 如何在 Fluxor 中实现选择器?

我正在使用 Fluxor 来管理我的 Blazor 应用程序中的状态,但我一直无法弄清楚该过程的 Selector 部分。

我目前只是将 IState 注入我的 Razor 页面并使用 State.Value.MyData 从状态中获取值

这在从 Fluxor.Blazor.Web.Components.FluxorComponent 继承的 Razor 组件中工作正常,但在获取非 FluxorComponent 的类中的值时不起作用。如果我将 IState 注入服务类,则状态不会随着更改而更新。我可以通过提供临时服务来解决这个问题,但我觉得我在这里遗漏了部分难题......

我想我需要使用 Selector 和 SelectorProtocol 但我一直无法弄清楚这些部分在实践中是如何实际使用的。是否有一个示例说明如何使用 Selector 语法?

0 投票
1 回答
36 浏览

blazor - 注入从 RevalidatingServerAuthenticationStateProvider 继承的类

我正在使用 RevalidatingServerAuthenticationStateProvider 来触发 blazor 中访问令牌的刷新。

我想从 Fluxor 注入 IDispatcher,以便在生成新的访问代码后调度新令牌。

我无法将 IDispatcher 注入课堂

如果我注入到构造函数中,blazor 会以空白屏幕开始,并且不会报告错误。

使用 [Inject] 属性只会导致 null 属性。

注意:我可以在其他地方注入IDispatcher并使用,并且在DI中注册。

关于如何从内部发送消息的任何建议?

如果这有什么不同,我正在使用 blazor 服务器。

0 投票
0 回答
14 浏览

blazor - 如何在 Blazor 中使用 Fluxor 在动态组件中显示权限明智的数据?

我正在尝试使用数据和使用通量状态创建一个动态组件。一切都很好。所有数据都是公开可见的。有可用的私人数据。我只想显示允许的数据。有一个权限字段。如何处理?有没有合适的参考?

0 投票
0 回答
68 浏览

c# - 使用fluxor在blazor中刷新页面时状态被清除

我不确定如何处理这种行为,这是我拥有的功能:

而且,在刷新页面(按 f5)之前一切正常,状态被清除,我有这个来处理错误:

我期望的是,即使页面被刷新,它也不应该清除状态。我怎样才能做到这一点?

0 投票
0 回答
68 浏览

asp.net - 在 Hosted Blazor WASM 应用程序中使用 Fluxor 仅设置一次全局状态

我有一个 .NET 5.0 Hosted Blazor WASM 应用程序,如下所示:

在此处输入图像描述

我在服务器项目中使用脚手架身份剃须刀页面进行登录和注册等。

我想将登录的User对象存储在 Blazor 客户端 WASM 应用程序的全局状态中。该对象包含用户配置文件信息和一些其他数据。这个想法是避免一次又一次地从数据库中获取此信息,因为来自该对象的数据显示在其他几个页面上。

为此,我正在使用Blazor.Fluxor.Web. 为了将此对象存储为全局状态,我正在调用DispatchNavbar 文档中的方法。

根据我对 SPA 的理解,组件只有在更改后才会重新渲染。现在NavBar根本没有改变,只要我/journals/索引页面路由到页面,Navbar就会重新渲染并再次从数据库填充状态。

每次我访问一个页面,调用数据库获取状态的整个过程都会重复。

问题。1)为什么?我想根据我的选择重新获取状态。

问题。2)我应该如何填充这个全局状态,以便它只填充一次(在用户登录后)而不是一次又一次?

更新

我正在使用 Cosmos DB,并且正在寻求将已登录用户的文档/项目保留在该州内。该文档包含用户文档拥有/嵌入的多个实体。因此,我不想将其全部存储在索赔中。全局状态方法背后的主要思想是节省查询 RU 成本。

0 投票
0 回答
35 浏览

c# - 如何处理 Fluxor 状态下的 IEnumerables/Arrays/Collections?

我目前正在尝试为我的 Blazor WASM 应用程序实现 Fluxor,并且我发现的所有说明/教程都推荐了类似以下示例的商店:

然后只谈论初始状态和更新只发生在bool并且int数组只被彻底替换。即示例总是从服务器获取完整的数据,例如100 个条目。

现在,这是我的问题:当我已经有 100 个条目并且只想添加/更新/删除一个时,如何正确处理减速器中的数组?这甚至是一个好主意吗?