Flutter Provider.of ‹MyProvider› () возвращает значение null

У меня проблема с ChangeNotifierProxyProvider.

У меня есть список таких провайдеров, как

 providers: [
        ChangeNotifierProvider.value(
          value: Auth(),
        ),
        ChangeNotifierProxyProvider<Auth, MyProvider>(
            create: (context) => MyProvider(),
            update: (ctx, auth, myProvider) => myProvider.update(auth)),
      ],

Если я вызываю Provider.of<MyProvider>(context, listen: false); или context.read<MyProvider>(); в своих классах, я получаю нулевой объект.

В другом случае, если я заменю ChangeNotifierProxyProvider на ChangeNotifierProvider (без прокси), я получу объект своего провайдера.

Подобных вопросов не нашел. Так что, наверное, я что-то упускаю.


person Nikita Belov    schedule 21.08.2020    source источник


Ответы (1)


Синтаксис:

ChangeNotifierProxyProvider<Auth, MyProvider>(
   create: (context) => MyProvider(),
  update: (ctx, auth, myProvider) {
    myProvider.update(auth);
    return myProvider;
  }
) 
person Rémi Rousselet    schedule 21.08.2020
comment
Спасибо. Теперь работает. Статья о pub.dev не очень понятна ... Не могу найти, что мне нужно возвращать провайдера в методе обновления. - person Nikita Belov; 21.08.2020