我有一个页面,该页面是一个StatelessWidget,并且包括一个在页面上显示时间的窗口小部件。该小部件使用以下计时器以定期速率进行更新。
timer = Timer.periodic( Duration(milliseconds: 541), (Timer t) => handleTimer());
当计时器弹出时,handleTimer更新小部件以显示新时间。
我看到对于每个计时器的滴答声,整个页面都会重建。我期望只有时间显示小部件会更新。
有什么办法可以只构建时间显示小部件而不是整个页面?
谢谢
答案 0 :(得分:0)
解决此问题的方法很多,有两种:
最简单的方法是创建一个仅包含您要更新的部分(时钟)并在handleTimer中运行setState的有状态小部件。
map
只有有状态的小部件将被更新。
使用RxDart流。创建一个Behaviorsubject,并在handletimer方法中添加更新。使用Streambuilder小部件绘制计时器。