Метод maybeOf
Метод maybeOf виджета Navigator
ищет ближайший навигатор от контекста вверх по дереву.
Если навигатора нет, метод возвращает пустое значение.
Метод of в том же случае бросает ошибку.
Синтаксис
Navigator.maybeOf(context)
Параметры
| Параметр | Описание |
|---|---|
context | BuildContext для поиска Navigator. |
Пример
Давайте прочитаем maybeOf там, где Navigator есть:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Builder(
builder: (context) {
var nav = Navigator.maybeOf(context);
return Scaffold(
body: Center(
child: Text('${nav != null}'),
),
);
},
),
),
);
}
На экране по центру true: MaterialApp создал Navigator.
Пример
Давайте вызовем maybeOf без Navigator:
import 'package:flutter/material.dart';
void main()
{
runApp(
Builder(
builder: (context) {
var nav = Navigator.maybeOf(context);
print(nav);
return const SizedBox.shrink();
},
),
);
}
Результат выполнения кода
null