Oop 我如何调用需要上下文的函数,从外部,在flatter中的小部件内部

Oop 我如何调用需要上下文的函数,从外部,在flatter中的小部件内部,oop,flutter,dart,widget,frontend,Oop,Flutter,Dart,Widget,Frontend,我想将位于不同文件中的函数调用到小部件中。 该函数需要小部件上下文。我该怎么做 //MyApp.dart 输入‘foo’; 类MyApp扩展了无状态小部件{ ... foo() @凌驾 小部件构建(构建上下文){ ... } -------- //飞镖 void foo(){ Navigator.of(context.pushNamed('/bar'); } 将上下文传递给函数 void foo(BuildContext context){ Navigator.of(context).pus

我想将位于不同文件中的函数调用到小部件中。 该函数需要小部件上下文。我该怎么做

//MyApp.dart
输入‘foo’;
类MyApp扩展了无状态小部件{
...
foo()
@凌驾
小部件构建(构建上下文){
...
}
--------
//飞镖
void foo(){
Navigator.of(context.pushNamed('/bar');
}

将上下文传递给函数

void foo(BuildContext context){
  Navigator.of(context).pushNamed('/bar');
}
无状态小部件中
只能调用需要build()上下文的函数

编辑:
由于@Pavel commented context可用于
StatefulWidget
的所有小部件函数,因此您可以将该上下文传递给该函数

void foo(BuildContext context){
  Navigator.of(context).pushNamed('/bar');
}
无状态小部件中
只能调用需要build()上下文的函数

编辑:
正如@Pavel注释的上下文在
StatefulWidget

的所有小部件功能中可用,而不仅仅是从
build
中。在
StatefulWidget
中,上下文可以从任何小部件功能中使用,不仅仅是从
build
中。在
StatefulWidget
中,上下文可以从任何小部件功能中使用