admin管理员组文章数量:1407737
I’m facing an issue with Riverpod where a counter that increments every second stops updating when another state (a list of orders) is updated. Here’s a simplified version of my code:
class Orders extends StatelessWidget {
const Orders({
super.key,
});
@override
Widget build(BuildContext context) {
return Consumer(builder: (context, ref, _) {
final orders = ref.watch(ordersProvider);
return orders != null
? Expanded(
child: ListView.separated(
shrinkWrap: true,
padding: const EdgeInsets.all(16),
separatorBuilder: (context, i) => const SizedBox(
height: 18,
),
itemBuilder: (context, index) {
final item = deliveries[index];
return OrderItem(
order: item,
);
},
itemCount: deliveries.take(5).length,
),
)
: const CircularLoader();
});
}
}
// Order provider
final ordersProvider =
StateNotifierProvider<OrdersNotifier, List<OrderModel>?>((ref) {
return OrdersNotifier();
});
class OrdersNotifier extends StateNotifier<List<OrderModel>?> {
OrdersNotifier() : super(null);
void updateDeliveries(List<dynamic> data) async {
List<OrderModel> updatedOrders =
data.map((order) => OrderModel.fromJson(order)).toList();
updatedOrders.sort(
(a, b) => b.createdAt!pareTo(a.createdAt!),
);
state = [...updatedOrders];
}
}
I’ve ensured that the counter logic is isolated in its own provider:
本文标签: flutterRiverpod State Issue Counter Stops Updating When Another State UpdatesStack Overflow
版权声明:本文标题:flutter - Riverpod State Issue: Counter Stops Updating When Another State Updates - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744704506a2620759.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论