Как вы можете прочитать в комментариях к коду, мне нужно получить информацию от модели в разных местах моей строки или listTile (внутри ListView). Но большую часть времени без прослушивания / необходимости перестройки пользовательского интерфейса. В одном месте в каком-то подвиджете, той строке, мне нужно обновление пользовательского интерфейса.
Что менее ресурсоемко? Если решение2 менее ресурсоемко, нормально ли это делать таким образом? (модель предоставляется в другом файле как 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>[...
Большое спасибо!