Как вызвать функцию, когда виджет появляется в поле зрения (не создан)?

#android #ios #flutter #routes #navigation

#Android #iOS #флаттер #маршруты #навигация

Вопрос:

Мне нужно обновить состояние виджета, когда он появляется в поле зрения. Например, когда я вызываю Navigator.push(SomePage()); , а затем нажимаю кнопку «Назад», предыдущая страница не создается, так как она все еще находится в дереве, поэтому initState() не работает.

В основном мне нужно обновить состояние страницы, когда она отображается после нажатия кнопки «Назад».

Ответ №1:

Navigator.push возвращает Future значение, которое завершается значением, которое передается pop методу при извлечении отправленного маршрута.

Таким образом, вы можете await или использовать .then для выполнения действия, следующего за pop .

 await Navigator.push(SomePage());
//Do some action
  

или

 Navigator.push(SomePage()).then((_){
  //Do some action
});