flutter KeyedSubtree到底是什么

e7arh2l6  于 2023-02-16  发布在  Flutter
关注(0)|答案(1)|浏览(244)

正在尝试理解KeyedSubtree。
它是否用于在元素树中移动StateFull小部件,包括子StateFull小部件?
使用Statefull小部件的键交换列表中的小部件,工作正常

- StatefullWidget(key): 1
-- State: 1

与键交换工作正常。

- StatefullWidget(key): 2
-- State: 2

我想也许KeyedSubtree应该有助于修剪儿童状态部件,但也许不是交换状态部件包括儿童状态也可以很好地使用一个键。

- StatelessWidget(key): 1
-- StatefullWidget: 2
--- State: 2

交换包括子状态

- StatelessWidget(key): 3
-- StatefullWidget: 4
--- State: 4

你能解释一下KeyedSubtree吗?

wfveoks0

wfveoks01#

我来这里实际上是因为我对它的作用感到困惑。原来它毕竟是在docs中。
构建其子对象的小部件。
用于将键附加到现有小部件。
尤其是这一部分:* "用于将密钥附加到现有小工具。"*
因此,如果您有一个不接受键作为参数的小部件,而您需要为其分配一个键,您只需执行以下操作:

KeyedSubtree(
    key: ValueKey("some value"),
    child: WidgetThatNeedsKey()
)

让这个小部件感到困惑的是,它似乎什么也不做。

相关问题