【发布时间】:2020-04-29 06:59:17
【问题描述】:
我只是想知道当 Parent 小部件的属性发生变化时 Flutter Widget 是如何工作的。
假设我们有一个 Parent Widget,它根据一些可变值或一些可侦听值(如 Bloc 模式)呈现 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 Widget 发生了什么?
Flutter 是否每 15 秒用新的 NewLocationState 或类似于 React 渲染一个全新的 Map Widget,Flutter 可以比较某种虚拟树中的更改,并且只更改现有 Map 中的属性,这是有效的并且应该会减少内存消耗。
Bloc 示例仅供参考/我的问题的上下文。但我想了解 Flutter Widget 在属性更改时的整体表现。
干杯
【问题讨论】:
-
有关颤振如何渲染小部件的完整参考,请参阅此视频:youtube.com/watch?v=996ZgFRENMs
标签: flutter dart widget flutter-bloc