BlocBuilder và BlocListener trong Bloc Flutter

BlocBuilderBlocListener là hai widget trong Flutter cho phép bạn theo dõi và cập nhật trạng thái của một bloc.

BlocBuilder được sử dụng để cập nhật giao diện khi trạng thái của bloc thay đổi. Nó là một widget reactive và sẽ tự động rebuild khi trạng thái thay đổi. Nếu bạn cần cập nhật giao diện khi trạng thái của bloc thay đổi, bạn nên sử dụng BlocBuilder.

BlocListener được sử dụng để thực hiện một hành động nào đó khi trạng thái của bloc thay đổi. Nó không thay đổi giao diện mà chỉ thực hiện một hành động nào đó khi trạng thái của bloc thay đổi. Nếu bạn cần thực hiện một hành động nào đó khi trạng thái của bloc thay đổi, bạn nên sử dụng BlocListener.

Ví dụ:

BlocBuilder<MoneyBloc, int>(
  builder: (context, money) {
    return Text('\$$money');
  },
);

BlocListener<MoneyBloc, int>(
  listener: (context, money) {
    showSnackbar(context, 'Money changed to \$$money');
  },
  child: Container(),
);

Trong ví dụ trên, BlocBuilder sẽ được sử dụng để cập nhật giao diện khi trạng thái của bloc thay đổi, trong khi BlocListener sẽ được sử dụng để thực hiện show 1 snackbar khi trạng thái thay đổi.

Leave a Comment