我目前正在尝试为我的Blazor WASM应用程序实现Fluxor,我发现的所有说明/教程都推荐了类似商店示例的东西:
public record AppStore {
int ClickCounter,
bool IsLoading,
WeatherForecast[]? Forecasts
}
然后只谈论初始状态并且更新只发生在CCD_ 1和CCD_。例如,示例总是从服务器获取完整的数据,例如100个条目。
现在,我的问题是:当我的reducer中已经有100个条目,并且只想添加/更新/删除一个时,我如何正确处理该数组?这是个好主意吗?
最好使用ImmutableList<T>
或ImmutableArray<T>
,因为此类经过优化,可以返回包含旧数据但不必复制元素的新实例。
我最近发布了一个名为Reducible
的新库,它有助于创建复杂的状态还原器。这会导致更少的更新(例如,如果列表中的项目没有被替换,则不会创建新的父对象(。
https://github.com/mrpmorris/Reducible/blob/master/README.md