flutter - Riverpod State Issue: Counter Stops Updating When Another State Updates - Stack Overflow

I’m facing an issue with Riverpod where a counter that increments every second stops updating when anot

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:

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744704507a4588973.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信