Мне просто интересно, как работает Flutter Widget при изменении свойств родительского виджета.
Допустим, у нас есть родительский виджет, который отображает базу виджетов на основе некоторого изменяемого значения или некоторого прослушиваемого значения (например, в шаблоне блока).
return Scaffold(
body: BlocBuilder<LocationBloc, LocationState>(builder: (context, state) {
if (state is NewLocationState) {
return Map(
location: LatLng(state.latitude, state.longitude),
);
}
return Container();
}),
);
Итак, в приведенном выше коде NewLocationState
приходит каждые 15 секунд с новыми значениями.
У меня вопрос: что происходит с этим Map
виджетом?
Отрисовывает ли Flutter совершенно новый Map
виджет каждые 15 секунд с новым NewLocationState
или похожим на React, Flutter может сравнивать изменения в каком-то виртуальном дереве и изменять только свойства в существующем Map
, что эффективно и должно приводить к меньшему потреблению памяти.
Пример блока предназначен только для справки / контекста моего вопроса. но я хочу знать в целом, как ведет себя Flutter Widget при изменении свойств.
Ваше здоровье