#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);
}
Я не уверен, что это то, чего вы хотите, ваш вопрос не настолько ясен, но это способ «получить данные из моего приложения в редуктор или действие».