как я могу вызвать функцию, которая нуждается в контексте, извне, внутри виджетов во флаттере - PullRequest
1 голос
/ 27 мая 2020

Я хочу вызвать функцию, расположенную в другом файле, в виджете. Функция нуждается в контексте виджета. как я могу это сделать ?

// MyApp.dart
import 'foo';
class MyApp extends StatelessWidget {
  ...

  foo()

  @override
  Widget build(BuildContext context) {
   ...
}

--------
// foo.dart
void foo(){
  Navigator.of(context).pushNamed('/bar');
}

1 Ответ

0 голосов
/ 27 мая 2020

Вы передаете контекст функции

void foo(BuildContext context){
  Navigator.of(context).pushNamed('/bar');
}

Внутри StatelessWidget можно вызвать только функцию, которая требует контекста из build ().

Изменить: как @Pavel прокомментированный контекст доступен во всех функциях виджетов для StatefulWidget

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...