flutter получить, когда использовать GetX <Controller>, GetBuilder <Controller> или Obx()

Как видно из заголовка, есть несколько способов обновить состояние. Когда я должен выбирать одно вместо другого?

1 ответ

Здесь нет жестких правил, но вот как я пытаюсь решить:

Obx

  • когда мой контроллер уже зарегистрирован в другом месте, и я хочу
  • минимальный код / ​​шум
  • реактивный виджет

GetX

  • когда мой контроллер еще не зарегистрирован или
  • Я хочу быть очень ясным / очевидным, какой контроллер используется или
  • Мне нужно запустить звонит во время создания и хочу
  • реактивный виджет

GetBuilder

  • Я хочу вручную решить, когда виджет перестраивается
  • У меня есть несколько переменных состояния, которые имеет смысл обновлять вместе как группа

Заметки

Под капотом и Obx, и GetX используют потоки, подписываясь на наблюдаемые в контроллере переменные, изменяют потоки, чтобы знать, когда нужно выполнить реактивную перестройку.

GetBuilder этого не делает.

GetX и GetBuilder расширяют StatefulWidget

Другие вопросы по тегам