Fluxor
Apparence
Links
- Github
- Documentation
- Blazor state management with Fluxor
- Advanced Blazor State Management Using Fluxor - EditForm Binding
Example
Store/ItemSearchUseCase/ItemSearchCase.cs |
[FeatureState]
public class TransactionsSearchState
{
public string SearchText { get; } = string.Empty;
public TransactionsSearchState(string searchText)
{
SearchText = searchText;
}
// Required for creating initial state
private TransactionsSearchState()
{ }
}
|
Store/ItemSearchUseCase/ItemSearchAction.cs |
public class TransactionsSearchAction
{
public string searchText { get; } = string.Empty;
public TransactionsSearchAction(string searchText)
{
this.searchText = searchText;
}
}
|
Store/ItemSearchUseCase/Reducers.cs |
public class Reducers
{
[ReducerMethod]
public static ItemSearchState ReduceTransactionsSearchAction(ItemSearchState state, ItemSearchAction action)
=> new(action.searchText);
}
|
Pages/Items.razor.cs |
public partial class Items : FluxorComponent
{
[Inject]
private IState<ItemSearchState> ItemSearchState { get; set; }
[Inject]
public IDispatcher Dispatcher { get; set; }
// get the state
ItemSearchState.Value.SearchText
// update the state
Dispatcher.Dispatch(new ItemSearchAction(searchText));
|
Pages/Items.razor |
@inherits Fluxor.Blazor.Web.Components.FluxorComponent
|
Installation
dotnet add package Fluxor.Blazor.Web |
Program.cs |
builder.Services
.AddFluxor(options => options.ScanAssemblies(typeof(Program).Assembly));
// options.UseReduxDevTools();
|
App.razor |
<Fluxor.Blazor.Web.StoreInitializer />
|