Я использую Theme.of(context) для стилизации оформления поля в виджете ящика моего приложения. Но это приводит к тому, что мой виджет ящика и его родительский элемент перестраиваются еще несколько раз, когда я переключаю переключатель тем (который показывает эффект постепенного появления/затухания при переключении на светлую/темную тему) через Provider.of на кнопку нажать.
Почему так? Разве недостаточно пересобрать виджет один раз, максимум два раза? Этого не происходит, когда я использую статический цвет, например Colors.green. Мне нужно избегать этих перестроек, поскольку это может повлиять на приложение в будущем по мере роста кода. Фактически, это влияет на данный момент.
Мое дерево приложений выглядит следующим образом:
- MyApp (StatelessWidget)
--- Поставщик
----- Потребитель
------- MaterialApp
--- ------ Домашний экран
----------- Подмостки
------------- Ящик < - который использует Theme.of(context) и собирается еще несколько раз без необходимости, когда я переключал тему, и заставляет HomeScreen также перестраиваться
Подробнее здесь: https://stackoverflow.com/questions/641 ... the-widget