他们做了优化和缓存,因为更新flutter的element是很昂贵的操作,而rebuild Widget只是重新new 了一个widget的实例,就像只是执行了一段dart代码一样,没涉及到任何ui层的更改,而且他们也对新旧widget做了diff,通过diff widget来减少对element层的更改,不管怎样,只要没有导致element销毁,重建,一般不会影响什么...
If we declare FutureBuilder on Page 1 instead of Page 2, the bug is not observed. import 'dart:async'; import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp...
My goal here is to display a page with different module, and when I click on my button, all my distances changes every seconds randomly. temp_view.dart import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; class TempView extends ConsumerWidget { ...