У меня есть провайдер класса Auth. Когда приложение загружается, я вызываю API, который возвращает json с данными, которые я сопоставляю с классом Auth с помощью фабричного метода (Auth.fromJson). После завершения сопоставления я хочу уведомить слушателей, чтобы обновился соответствующий пользовательский интерфейс. Получается, что я не могу вызвать notifyListeners () из конструктора фабрики, потому что получаю эту ошибку:
к членам экземпляра нельзя получить доступ из конструктора фабрики
Почему это так? Какой обходной путь я могу реализовать? После заводских сопоставлений данных мне нужно каким-то образом уведомить слушателей.
class Auth with ChangeNotifier {
String token;
String organisationId;
String domain;
String userId;
Auth(
{this.token,
this.organisationId,
this.domain,
this.userId});
factory Auth.fromJson(Map<String, dynamic> json) {
Auth(
token: json['token'],
organisationId: json['organisationId'],
domain: json['domain'],
userId: json['userId'],
);
notifyListeners(); // Error here.
return Auth();
}
}
Auth
немедленно после создания объекта. Какие слушатели у него будут к этому моменту? - person Abion47   schedule 14.12.2019