问题标签 [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.
.net - 使用 Fluxor 的 Blazor State:ActionSubscriber 或 SubscribeToAction 哪个更好用?
我是使用 Blazor 和 Fluxor 的新手,我试图决定什么更好用
IActionSubscriber - 手动注入、订阅和取消订阅
或者
继承 FluxorComponent - 并使用 ActionSubscriber
什么是最好的解决方案?有什么好处和坏处?
blazor - 使用 bUnit 和 Moq 测试使用 Fluxor 的剃须刀组件
我在我的 Blazor 应用程序的一个 razor 组件中使用 Fluxor 进行状态管理,但我不确定如何设置它以使用 Moq 进行测试。我不能仅仅为学生分配一个价值,因为它是一个仅限于初始化的属性。是否有特定的方法来设置 Fluxor 进行测试?
代码
c# - 使用fluxor an Blazor登录后无法获取状态
我想在应用程序 Blazor 程序集中实现状态管理,所以我添加了 Fluxor 作为库。
我创建了一个包含共享属性的抽象根状态:
然后,我创建了继承自 Rootstate 的登录状态:
之后,我创建了要素类:
然后是动作:
之后,我创建了 Reducer 和 Effect:
影响:
当我想用这条指令调用调度程序时,dispatcher.Dispatch(new LoginAction(new LoginDto { Email = "test@email.com", Password = "test" }));
我在 DevTools 中得到了结果,但没有数据,IState<LoginState>
所以我无法访问状态。请问我的代码有什么错误吗?
c# - 如何在 Fluxor 中实现选择器?
我正在使用 Fluxor 来管理我的 Blazor 应用程序中的状态,但我一直无法弄清楚该过程的 Selector 部分。
我目前只是将 IState 注入我的 Razor 页面并使用 State.Value.MyData 从状态中获取值
这在从 Fluxor.Blazor.Web.Components.FluxorComponent 继承的 Razor 组件中工作正常,但在获取非 FluxorComponent 的类中的值时不起作用。如果我将 IState 注入服务类,则状态不会随着更改而更新。我可以通过提供临时服务来解决这个问题,但我觉得我在这里遗漏了部分难题......
我想我需要使用 Selector 和 SelectorProtocol 但我一直无法弄清楚这些部分在实践中是如何实际使用的。是否有一个示例说明如何使用 Selector 语法?
blazor - 注入从 RevalidatingServerAuthenticationStateProvider 继承的类
我正在使用 RevalidatingServerAuthenticationStateProvider 来触发 blazor 中访问令牌的刷新。
我想从 Fluxor 注入 IDispatcher,以便在生成新的访问代码后调度新令牌。
我无法将 IDispatcher 注入课堂
如果我注入到构造函数中,blazor 会以空白屏幕开始,并且不会报告错误。
使用 [Inject] 属性只会导致 null 属性。
注意:我可以在其他地方注入IDispatcher并使用,并且在DI中注册。
关于如何从内部发送消息的任何建议?
如果这有什么不同,我正在使用 blazor 服务器。
blazor - 如何在 Blazor 中使用 Fluxor 在动态组件中显示权限明智的数据?
我正在尝试使用数据和使用通量状态创建一个动态组件。一切都很好。所有数据都是公开可见的。有可用的私人数据。我只想显示允许的数据。有一个权限字段。如何处理?有没有合适的参考?
c# - 使用fluxor在blazor中刷新页面时状态被清除
我不确定如何处理这种行为,这是我拥有的功能:
而且,在刷新页面(按 f5)之前一切正常,状态被清除,我有这个来处理错误:
我期望的是,即使页面被刷新,它也不应该清除状态。我怎样才能做到这一点?
asp.net - 在 Hosted Blazor WASM 应用程序中使用 Fluxor 仅设置一次全局状态
我有一个 .NET 5.0 Hosted Blazor WASM 应用程序,如下所示:
我在服务器项目中使用脚手架身份剃须刀页面进行登录和注册等。
我想将登录的User
对象存储在 Blazor 客户端 WASM 应用程序的全局状态中。该对象包含用户配置文件信息和一些其他数据。这个想法是避免一次又一次地从数据库中获取此信息,因为来自该对象的数据显示在其他几个页面上。
为此,我正在使用Blazor.Fluxor.Web
. 为了将此对象存储为全局状态,我正在调用Dispatch
Navbar 文档中的方法。
根据我对 SPA 的理解,组件只有在更改后才会重新渲染。现在NavBar
根本没有改变,只要我/journals
从/
索引页面路由到页面,Navbar
就会重新渲染并再次从数据库填充状态。
每次我访问一个页面,调用数据库获取状态的整个过程都会重复。
问题。1)为什么?我想根据我的选择重新获取状态。
问题。2)我应该如何填充这个全局状态,以便它只填充一次(在用户登录后)而不是一次又一次?
更新
我正在使用 Cosmos DB,并且正在寻求将已登录用户的文档/项目保留在该州内。该文档包含用户文档拥有/嵌入的多个实体。因此,我不想将其全部存储在索赔中。全局状态方法背后的主要思想是节省查询 RU 成本。
c# - 如何处理 Fluxor 状态下的 IEnumerables/Arrays/Collections?
我目前正在尝试为我的 Blazor WASM 应用程序实现 Fluxor,并且我发现的所有说明/教程都推荐了类似以下示例的商店:
然后只谈论初始状态和更新只发生在bool
并且int
数组只被彻底替换。即示例总是从服务器获取完整的数据,例如100 个条目。
现在,这是我的问题:当我已经有 100 个条目并且只想添加/更新/删除一个时,如何正确处理减速器中的数组?这甚至是一个好主意吗?