Flutter: как отладить, какие виджеты перерисованы при изменении состояния - PullRequest
0 голосов
/ 14 мая 2018

Я использую Redux с Flutter для управления состоянием.Всякий раз, когда я отправляю действие, я хочу знать, какие виджеты были перерисованы.Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Лучший способ отладить ваше приложение, чтобы увидеть, какие виджеты перерисовываются, - это вставить точки останова в ваш код.Я бы порекомендовал поставить точку останова в методе Widget build(BuildContext context).

В качестве альтернативы вы также можете использовать операторы print, чтобы убедиться, что вызывается метод сборки.

0 голосов
/ 14 мая 2018

В флаттере, когда один обновление виджета; все дерево виджетов перекрасить. Итак ... нет.

Но вы также можете ввести «перерисовать границы» вручную, вставив в ваше дерево виджет RepaintBoundary. Это явно говорит flutter о создании нового слоя рисования для его дочернего элемента (что подразумевает кэш памяти). Так что всякий раз, когда этот потомок обновляется, он не перекрашивает своего родителя тоже.

Что вы можете сделать, это вместо этого отладить, когда перерисовывается граница перерисовки.

Для этого вы можете включить перерисовку радуги:

  • нажатие t при использовании flutter run
  • с использованием vscode Dart Code расширение с ctrl/cmd + shift + p и enable repaint rainbow
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...