Flutter Provider Listen:假不起作用

e5nszbig  于 2022-12-14  发布在  Flutter
关注(0)|答案(1)|浏览(264)

我正在学习提供程序包,其中我创建了一个应用程序,无论我在TextField中键入什么,都将更改应用程序栏中的标题和TextField下面的文本小部件。但它不工作,所以我开始尝试不同的代码,经过一些尝试,当我在TextField onchanged中将listen更改为false时,它开始工作。
我还是不明白为什么它在设定听后就开始工作了:错误。
第一个

b1payxdu

b1payxdu1#

你好,哈什迪普·辛格
简单地说,如果设置listen: false,这意味着当notifyListeners()调用时,它将不会侦听更改。
例如,如果文本更新changeString(newValue)listen: false,则它将不更新值。

final value = Provider.of<Data>(context, listen: false);
value.data; <-- data will not update when notifyListeners() call

当您将listen设置为true时,它将侦听更改并更新该值。

final value = Provider.of<Data>(context, listen: true);
value.data; <-- data will update when notifyListeners() call

相关问题