将数据传递到非父/子小部件 - 颤振/飞镖



我是新手,需要一些帮助!我知道如何将数据从父母传递给孩子,以及其他方式。但是,我如何从接收Widget的既不是父级也不是子级的Widget传递数据呢?

您将其传递回父级,直到您命中了两者的祖先父级,然后将其传递给子级,直到命中了它的目的子级。

如果这似乎是太多的工作,因为他们在树上相距太远,那么考虑另一种状态管理方法。

这里有多个选项:

  1. 使用状态管理(如果您只想将参数从一个屏幕发送到另一个屏幕,则不建议(

  2. 使用这样的东西:

    class ClassName extends StatefulWidget {
    final int param1;
    const ClassName({Key key, this.param1}) : super(key: key);
    }
    

当你想路由到此屏幕时,你可以像这样通过param1:

Navigator.of(context).push(ClassName(param1: value));
  1. 列表项您可以使用一些类似于autoRoute的lib

最新更新