# done-redux
**Repository Path**: gavinhome/done-redux
## Basic Information
- **Project Name**: done-redux
- **Description**: .Net7下基于Redux的组合式状态管理框架
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-11-11
- **Last Updated**: 2022-12-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Csharp, Framework, state-management, Redux, component
## README

Done Redux
[](https://github.com/GavinHome/done-redux/actions/workflows/build.yml) [](https://codecov.io/gh/gvinhome/done-redux)
## 介绍
Done Redux 是基于Redux思想的组合式状态管理框架,非常适合构建基于.NET7的应用程序,即Donet Redux。
它有四个优势:
> 1. 函数式编程
> 2. 可预测状态容器
> 3. 组件化
> 4. 灵活装配
## 文档
语言: [英文](README.md) | [中文](README.zh.md)
## 使用
- 初始化State,Reducer,Store
- 监听订阅
- 发起修改
```c#
using Redux;
var state = CounterState.initState();
var reducer = CounterReducer.buildReducer();
var store = StoreCreator.createStore(state, reducer);
store.Subscribe(() =>
{
var lastState = store.GetState();
var stateJson = System.Text.Json.JsonSerializer.Serialize(lastState);
Console.WriteLine($"[Subscribe] last-state:{stateJson}");
});
store.Dispatch(CounterActionCreator.add(1));
store.Dispatch(CounterActionCreator.minus(2));
internal class CounterReducer
{
internal static Reducer buildReducer()
{
var map = new Dictionary