'Flutter Bloc/Cubit with multiple properties in one Cubit class

I'm trying to use Bloc package for my state management in my Flutter app. I have situation where I have two list within the same screen, and I am confused should I use two cubits for each list or I can make something like in code bellow where I used one cubit for both lists. I wanna know is this way of structuring code correct? In this image is the sketch of the screen.

abstract class CounterState extends Equatable {
  const CounterState({this.valOne, this.valTwo, this.error});
  final int? valOne;
  final int? valTwo;
  final String? error;
  @override
  List<Object?> get props => [valOne, valTwo, error];
}

class CounterInitial extends CounterState {}

class ValOneSuccess extends CounterState {
  const ValOneSuccess(int? val, int? valTwo)
      : super(valOne: val, valTwo: valTwo);
}

class ErrorState extends CounterState {
  const ErrorState(int? val, int? valTwo, String error)
      : super(valOne: val, valTwo: valTwo, error: error);
}
class CounterCubit extends Cubit<CounterState> {
  CounterCubit() : super(CounterInitial());

  void loadData() async {
    int valOne;
    int valTwo;
    emit(CounterInitial());
    try {
      valOne = 2;
      emit(ValOneSuccess(valOne, state.valTwo));

      ///If error is thrown
      //throw Exception('ValueOne exception');
    } catch (e) {
      print(e);
      emit(ErrorState(state.valOne, state.valTwo, e.toString()));
    }

    try {
      valTwo = 1;
      emit(ValOneSuccess(state.valOne, valTwo));

      ///If error is thrown
      //throw Exception('ValueTwo exception');
    } catch (e) {
      state.error != null
          ? emit(ErrorState(
              state.valOne, state.valTwo, 'Exception on both values'))
          : emit(ErrorState(state.valOne, state.valTwo, e.toString()));
    }
  }
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source