Как предотвратить 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(......)
)