问题描述
我在颤动中使用 ChangeNotifier 中的 notifyListeners。如果我连续调用 notifyListeners()
三次会发生什么?在这种情况下,UI 会更新多少次?
notifyListeners
调用代码:
class Data with ChangeNotifier
{
String _data = 'some text';
String get getData => _data;
void changeString(String newString)
{
_data = newString;
notifyListeners();
notifyListeners();
notifyListeners();
}
}
用法:
class MyTextField extends StatelessWidget {
const MyTextField({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return TextField(
onChanged: (newData) => context.read<Data>().changeString(newData),);
}
}
小部件树(如果它很重要):
MyTextField
是 Widget2
的孩子。
Widget2
是 Widget1
的孩子。
Widget1
是 HomePage
的孩子。
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Container(child: Text(context.watch<Data>().getData),),body: Center(
child: Widget1(),)
);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)