Flutter — можно ли помещать состояние в MyApp?

#flutter #state-management

#flutter #управление состоянием

Вопрос:

Я просматривал документы Flutter, и на этой диаграмме показана модель корзины, помещаемая в MyApp. Теперь, в проекте flutter по умолчанию, MyApp является безстатейным виджетом. Это нормально — идея в том, что вы передаете ссылки на модель вниз через конструкторы — или это должен быть унаследованный виджет? Или это имеет значение? Спасибо за любую информацию…

Комментарии:

1. Привет, мой ответ решает ваш вопрос?

Ответ №1:

Да, конечно, вы можете сделать MyApp виджетом с отслеживанием состояния. Однако иногда это было бы неэффективно. Например, допустим, у вас есть int counter = 0; состояние в MyApp. Затем, когда вы меняете счетчик, вы вызываете setState(() {counter ;}); , но затем все MyApp будет перестроено! Это занимает некоторое время, если ваше приложение сложное.

Таким образом, я предлагаю еще несколько автоматических библиотек, таких как MobX (https://github.com/mobxjs/mobx.dart ). Лично я использовал его для написания простого проекта с 30 тыс. строк кода flutter, и он работает довольно хорошо.

Комментарии:

1. И RiverPod! Это был бы не я, если бы я не упомянул riverpod. 🙂

2. @RandalSchwartz Ага, звучит интересно!