flutter получить, когда использовать GetX <Controller>, GetBuilder <Controller> или Obx()
Как видно из заголовка, есть несколько способов обновить состояние. Когда я должен выбирать одно вместо другого?
1 ответ
Здесь нет жестких правил, но вот как я пытаюсь решить:
Obx
- когда мой контроллер уже зарегистрирован в другом месте, и я хочу
- минимальный код / шум
- реактивный виджет
GetX
- когда мой контроллер еще не зарегистрирован или
- Я хочу быть очень ясным / очевидным, какой контроллер используется или
- Мне нужно запустить
звонит во время создания и хочу - реактивный виджет
GetBuilder
- Я хочу вручную решить, когда виджет перестраивается
- У меня есть несколько переменных состояния, которые имеет смысл обновлять вместе как группа
Заметки
Под капотом и Obx, и GetX используют потоки, подписываясь на наблюдаемые в контроллере переменные, изменяют потоки, чтобы знать, когда нужно выполнить реактивную перестройку.
GetBuilder этого не делает.
GetX и GetBuilder расширяют
StatefulWidget