Fluxor:一种不调度动作的效果?



我使用Fluxor来管理Blazor-wasm应用程序中的状态。

我有以下效果,这是在从删除项目中获得结果后触发的:

[EffectMethod]
public Task HandleDeleteBudgetResultAction(DeleteBudgetResultAction action, IDispatcher dispatcher)
{
if (action.Success)
{
NavigationManager.NavigateTo("/budgets", false);
}
return Task.CompletedTask;
}

基本上,如果删除成功,请导航回列表页面。如果不是,就什么都不做,因为我们需要保留在详细信息页面上。

在这种情况下,我不需要调度一个操作,但我必须根据EffectMethod属性的要求包含dispatcher参数。由于我在这个方法中没有异步进程,所以我返回Task.CompletedTask

这显然是错误的,所以我的问题是:这是Fluxor的限制,还是我对流的架构不正确据我所知,效果不一定要调度动作。

我想我可能需要将导航状态转移到商店中,但我想我会再次遇到同样的问题,因为我仍然需要从某个地方调用NavigationManager。

感谢任何帮助或更好的解决方案:(

这是Fluxor的一个限制。只要在Fluxor选项上调用了UseRouting,就可以调度GoAction,而不是注入NavigationManager。

builder.Services.AddFluxor(options => options
.UseRouting()
.ScanAssemblies(typeof(Program).Assembly)

相关内容

  • 没有找到相关文章

最新更新