Flutter 不可变实体和表单

问题描述

我们正在 Flutter 中开发一个新的移动应用程序,我们的领域层具有所有不可变的实体(我们使用冻结包),并使用 riverpod 作为状态管理在层之间移动它们。

现在我们问自己如何编辑表单中的不可变实体。

我们正在为接收不可变实体的表单使用有状态小部件,直到现在,我们使用实体类中的所有字段填充本地 Map 变量,并将表单字段与此 Map 链接

验证数据后,我们创建了一个新的不可变实体并调用状态通知程序上的方法来更新数据并传播状态。

Map 的问题在于它不是类型安全的,也不是 null 安全的,每次访问地图以创建新实体时,我们都必须强制转换并检查所有内容

有什么建议可以改进这个设计吗?

有人建议为我们实体类中将在表单上编辑的每个字段使用一个变量,但我发现它是多余的。

另一种方法是使用 Freezed 提供的 copyWith 每次更改表单内的字段时创建一个新实体,但我不确定它是否有效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)