Метод вызывается с другого экрана Flutter - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть метод firestore, который вызывается на разных экранах. Я использую Firestore в качестве базы данных. Я использую Provider для инъекций.

Provider<Database>(create: (_) => FirestoreDatabase(uid: uid)),

В классе базы данных есть метод setData, который записывает число в Firestore. Я называю это так:

 final database = Provider.of<Database>(context);
    await database.setScreenNumber(VoterData(screenState:screenPage));//setData is abstracted away

Все работает как должно для моего первого экрана: ie значение 1 хранится в Firestore. Вызывается метод setScreenNumber и устанавливается значение. Когда я go на второй экран, вызывается тот же метод, и значение мгновенно изменяется на правильное значение, но затем возвращается к исходному значению. Из оператора печати я вижу, что метод setScreenNumber вызывается снова на первом экране () (без загрузки этого экрана нет вывода на печать из initState). Почему мой провайдер вызывает метод agin с первого экрана?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...