Fluxor State如何处理IEnumerables/Arrays/Collections?

How to deal with IEnumerables/Arrays/Collections in Fluxor State?

我目前正在尝试为我的 Blazor WASM 应用程序和所有 instructions/tutorials 我发现为商店推荐的类似此示例的东西:

public record AppStore {
   int ClickCounter,
   bool IsLoading,
   WeatherForecast[]? Forecasts
}

然后只谈论初始状态,更新只发生在 boolint 而数组只会 完全替换 。 IE。这些示例总是从服务器获取完整数据,例如100 个条目。

现在,这是我的问题:当我已经有 100 个条目并且只想做 add/update/delete one 时,如何正确处理我的 reducer 中的数组?这首先是个好主意吗?

最好的办法是使用 ImmutableList<T>ImmutableArray<T>,因为此 class 已针对返回包含旧数据但不包含旧数据的新实例进行了优化复制元素。

我最近发布了一个名为 Reducible 的新库,它有助于创建复杂的状态缩减器。它会导致更少的更新(例如,如果列表中的项目未被替换,则不会创建新的父对象)。

https://github.com/mrpmorris/Reducible/blob/master/README.md