正如您可以阅读代码中的注释一样,我需要从行或listTile(位于ListView内)不同位置的模型中获取信息。但是大多数时候没有监听/需要UI重建。在该行的某个子小部件的某个地方,我确实需要UI更新。
什么是较少的资源密集型?如果solution2的资源消耗较少,可以这样做吗? (该模型作为ChangeNotifierProvider在另一个文件中提供)
解决方案1:
@override
Widget build(BuildContext context) {
// use it in many places in my row or listTile
final myModel = Provider.of<MyModel>(context);
return Row(children: <Widget>[...
解决方案2:
@override
Widget build(BuildContext context) {
// will use it in many places
final myModelNotListening = Provider.of<MyModel>(context, listen: false);
// (same model as above!! but) will use it just at on or two places in my row or listTile
final myModelListening = Provider.of<MyModel>(context);
return Row(children: <Widget>[...
非常感谢!