Как предотвратить setState((){}); в трепете?

` setState(() { // как предотвратить здесь установленное состояние rating = aaa; });

onChanged: (aaa) {
   setState(() {
    rating = aaa;
   });
},`

1 ответ

Вы можете использовать ValueListenableBuilder вместо setState. Например: если рейтинг является типом int. Итак, вы можете создать тип ValueNoifier типа int и слушать его изменения.

 ValueNotifier<int> rating = ValueNotifier<int>(0);

//......change the value of rating in the onChanged:

 onChanged(aaa){
  rating.value = aaa;
 }

// .... Wrap your Widget with Listenable builder to listen to the change in rating.

ValueListenableBuilder(
valueListenable: rating,
builder : (context, value, child) => SomeWidget(......)
)
Другие вопросы по тегам