Метод of
Метод of виджета
PageStorage принимает context
и ищет ближайший
PageStorage.
На выходе
PageStorageBucket
или null, если обёртки нет.
Синтаксис
PageStorage.of(context)
Параметры
| Параметр | Описание |
|---|---|
context |
BuildContext виджета внутри PageStorage.
|
Пример
Давайте проверим, что bucket найден:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: PageStorage(
bucket: PageStorageBucket(),
child: Builder(
builder: (context) {
var bucket = PageStorage.of(context);
return Scaffold(
body: Center(
child: Text(
bucket != null ? 'abcde' : 'no',
),
),
);
},
),
),
),
);
}
На экране по центру строка 'abcde'
подтверждает, что PageStorage.of вернул bucket.
Пример
Давайте вызовем of без PageStorage в предках:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Builder(
builder: (context) {
var bucket = PageStorage.of(context);
return Scaffold(
body: Center(
child: Text(
bucket == null ? '12345' : 'yes',
),
),
);
},
),
),
);
}
На экране появится '12345',
потому что без PageStorage метод вернёт null.
Смотрите также
-
виджет
PageStorage,
который кладёт bucket в дерево -
класс
PageStorageBucket,
который возвращаетof -
метод
writeState,
который сохраняет данные в bucket -
класс
PageStorageKey,
по которому bucket находит состояние