【发布时间】:2020-11-29 14:05:04
【问题描述】:
我有一个无状态的CharacterWidget,其中包含孩子HeadWidget、TorsoWidget。为简单起见,我们假设它只有HeadWidget。 HeadWidget 本身是一个有两个孩子的无状态小部件:HelmetWidget 和 FaceWidget。这是树的样子:
CharacterWidget 使用 Provider 为其子对象提供 CharacterObject - 包含头盔类型和皮肤复杂性等内容..
问题是:当character.SkinComplexity 发生变化时,我希望FaceWidget 和BodyWidget 重建,而不是HelmetWidget 和Chestplate。反之亦然,如果 character.helmet 更改:我只想重建 HelmetWidget。 目前,如果我更改 CharacterObject,一切都会重建(基于构建方法中的日志)。
只有当character.SkinComplexity 发生更改时,我才能告诉小部件重建?
附带问题:如果所有这些小部件只是显示并向图像应用过滤器,我是否认为所有这些小部件都应该是无状态的?
【问题讨论】:
-
如何消费提供者?你使用 Provider.of(context) 还是 context.watch()?
-
我在父级上使用 changeNotifierProvider 并与 Provider.of() 一起使用..
-
我不应该吗? @ddalbosco