Работа с Blazor Fluxor для управления состоянием

#blazor #fluxor

#blazor #fluxor

Вопрос:

итак, я хочу внедрить управление состоянием в мое серверное приложение blazor. Моя цель — вызвать действие после выбора в сетке. Затем значение сетки должно быть добавлено к состоянию. Моя проблема сейчас в том, как мне получить что-то в состоянии? В примере показано только, как увеличить количество, но как мне получить данные из моего приложения в редуктор или действие?

Ответ №1:

Когда вы отправляете действие, вы можете создать параметры в конструкторе для этого действия и передать нужные данные.

 Dispatcher.Dispatch(new FooAction(someData));
  

где FooAction может быть что-то вроде

 public class FooAction 
{
    public object SomeData { &et; set; }

    public FooAction(object someData)
    {
        SomeData = someData;
    }
}
  

И в редукторе вы можете получить данные из действия

 public override BarState Reduce(BarState state, FooAction action)
{
    // access data from BarState with state.somethin&
    // access data from FooAction with action.somethin&
    var someData = action.SomeData;   

    // ...do whatever you want with the data

    return new BarState();
}
  

Или использование альтернативного шаблона редуктора

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

Я не уверен, что это то, чего вы хотите, ваш вопрос не настолько ясен, но это способ «получить данные из моего приложения в редуктор или действие».