Вам необходимо использовать dispose()
метод State
или конструктор по умолчанию ChangeNotifierProvider
. Последний автоматически удаляет объект, созданный в функции create
.
Интересно, почему вы используете ChangeNotifierProvider.value()
вместо ChangeNotifierProvider()
, но если вы хотите передать значение на другую страницу, вы можно комбинировать оба варианта следующим образом.
ChangeNotifierProvider<Foo>(
create: (context) => Foo(), // this Foo object is disposed of automatically
)
Где-то вниз по дереву:
Navigator.of(context).push(
MaterialPageRoute<void>(
builder: (context2) => Provider<Foo>.value(
value: Provider.of<Foo>(context, listen: false),
child: NextPage(),
),
),
)
Примечание: вам не нужно будет делать это, если вы предоставите значение выше MaterialApp
.