#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 Ага, звучит интересно!