我是新手,需要一些帮助!我知道如何将数据从父母传递给孩子,以及其他方式。但是,我如何从接收Widget的既不是父级也不是子级的Widget传递数据呢?
您将其传递回父级,直到您命中了两者的祖先父级,然后将其传递给子级,直到命中了它的目的子级。
如果这似乎是太多的工作,因为他们在树上相距太远,那么考虑另一种状态管理方法。
这里有多个选项:
-
使用状态管理(如果您只想将参数从一个屏幕发送到另一个屏幕,则不建议(
-
使用这样的东西:
class ClassName extends StatefulWidget { final int param1; const ClassName({Key key, this.param1}) : super(key: key); }
当你想路由到此屏幕时,你可以像这样通过param1:
Navigator.of(context).push(ClassName(param1: value));
- 列表项您可以使用一些类似于autoRoute的lib