flutter bloc 的未定义名称状态
Undefined name state for flutter bloc
我正在尝试将 flutter_bloc v8 用于计数器应用程序,但我无法访问状态值来更新它。它告诉我状态是未定义的。我知道我们可以使用 Cubit 来简化它,但我想看看它如何与普通 bloc 一起工作。
counter_state.dart
abstract class CounterState {}
class CounterValue extends CounterState {
int value;
CounterValue(this.value);
}
class CounterLoading extends CounterState {}
counter_bloc.dart
class CounterBloc extends Bloc<CounterEvent, CounterState> {
CounterBloc() : super(CounterValue(0)) {
on<IncrementEvent>((event, emit) => _increment(emit));
on<DecrementEvent>((event, emit) => _decrement(emit));
}
}
void _increment(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
void _decrement(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
无法访问该状态,因为您在 CounterBloc 之外定义了函数。
试试这个:
class CounterBloc extends Bloc<CounterEvent, CounterState> {
CounterBloc() : super(CounterValue(0)) {
on<IncrementEvent>((event, emit) => _increment(emit));
on<DecrementEvent>((event, emit) => _decrement(emit));
}
void _increment(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
void _decrement(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
}
我正在尝试将 flutter_bloc v8 用于计数器应用程序,但我无法访问状态值来更新它。它告诉我状态是未定义的。我知道我们可以使用 Cubit 来简化它,但我想看看它如何与普通 bloc 一起工作。
counter_state.dart
abstract class CounterState {}
class CounterValue extends CounterState {
int value;
CounterValue(this.value);
}
class CounterLoading extends CounterState {}
counter_bloc.dart
class CounterBloc extends Bloc<CounterEvent, CounterState> {
CounterBloc() : super(CounterValue(0)) {
on<IncrementEvent>((event, emit) => _increment(emit));
on<DecrementEvent>((event, emit) => _decrement(emit));
}
}
void _increment(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
void _decrement(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
无法访问该状态,因为您在 CounterBloc 之外定义了函数。
试试这个:
class CounterBloc extends Bloc<CounterEvent, CounterState> {
CounterBloc() : super(CounterValue(0)) {
on<IncrementEvent>((event, emit) => _increment(emit));
on<DecrementEvent>((event, emit) => _decrement(emit));
}
void _increment(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
void _decrement(Emitter<CounterState> emit) {
emit(CounterValue(state.value + 1));
}
}