во флатер надо как можно реже перерисовывать интерфейс. отсюда делаем вывод что обновляем стэйт только для того что нужно в вашем контексте и подписываемся на это обновление. тоесть вам надо УРЛ обновить вот и подпишите виджет на этот УРЛ, все остальные изменения для других задач. пока состояние УРЛ будет прежним виджет не перерисуется, вроде как больше и делать ничего не надо