我如何调用需要上下文的函数,从外部,内部小部件颤动
how can I call function that needs context, from outside, inside widgets in flutter
我想将位于不同文件中的函数调用到小部件中。
该函数需要小部件上下文。我怎样才能做到这一点 ?
// MyApp.dart
import 'foo';
class MyApp extends StatelessWidget {
...
foo()
@override
Widget build(BuildContext context) {
...
}
--------
// foo.dart
void foo(){
Navigator.of(context).pushNamed('/bar');
}
您将上下文传递给函数
void foo(BuildContext context){
Navigator.of(context).pushNamed('/bar');
}
在 StatelessWidget
中只能调用需要来自 build() 的上下文的函数。
编辑:
正如@Pavel 评论的上下文在 StatefulWidget
的所有小部件函数中都可用
我想将位于不同文件中的函数调用到小部件中。 该函数需要小部件上下文。我怎样才能做到这一点 ?
// MyApp.dart
import 'foo';
class MyApp extends StatelessWidget {
...
foo()
@override
Widget build(BuildContext context) {
...
}
--------
// foo.dart
void foo(){
Navigator.of(context).pushNamed('/bar');
}
您将上下文传递给函数
void foo(BuildContext context){
Navigator.of(context).pushNamed('/bar');
}
在 StatelessWidget
中只能调用需要来自 build() 的上下文的函数。
编辑:
正如@Pavel 评论的上下文在 StatefulWidget