【问题标题】:Working with Blazor Fluxor for State Manangement使用 Blazor Fluxor 进行状态管理
【发布时间】:2020-11-29 23:10:11
【问题描述】:

所以我想在我的 blazor 服务器端应用程序中实现状态管理。我的目标是在网格中进行选择后调用一个动作。然后应将网格的值添加到状态中。我现在的问题是,我如何在州获得一些东西?该示例仅展示了如何增加计数,但我如何将数据从我的应用程序获取到 reducer 或 action 中?

【问题讨论】:

    标签: blazor fluxor


    【解决方案1】:

    当你调度一个动作时,你可以在构造函数中为那个动作创建参数并传递你想要的数据。

    Dispatcher.Dispatch(new FooAction(someData));
    

    FooAction 可以是类似的东西

    public class FooAction 
    {
        public object SomeData { get; set; }
    
        public FooAction(object someData)
        {
            SomeData = someData;
        }
    }
    

    而在reducer中,你可以从action中获取数据

    public override BarState Reduce(BarState state, FooAction action)
    {
        // access data from BarState with state.something
        // access data from FooAction with action.something
        var someData = action.SomeData;   
    
        // ...do whatever you want with the data
    
        return new BarState();
    }
    

    或者,使用替代的 reducer 模式

    public static class ReducersOrAnyOtherNameItDoesntMatter
    {
      [ReducerMethod]
      public static MyState Reduce(MyState state, IncrementAction action) =>
        new MyState(state.Counter += action.AmountToAddToCounter);
    }
    

    我不确定这是否是您想要的,您的问题不是很清楚,但这是一种“将数据从我的应用程序获取到 reducer 或 action”的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 2021-07-30
      • 2021-12-23
      • 2019-05-08
      • 2021-02-17
      • 2021-04-06
      • 2020-01-26
      相关资源
      最近更新 更多