![](/img/trans.png)
[英]flutter_bloc is it ok to store a variable inside bloc/cubit class
[英]How can I use variable of CubitState inside Cubit? Flutter/Bloc
所以我不知道如何从我的 Cubit state 中获取参数,在这种情况下是 AnswerPicked,状态文件中有一个代码。
part of 'answer_cubit.dart';
abstract class AnswerState extends Equatable {
const AnswerState();
@override
List<Object> get props => [];
}
class AnswerInitial extends AnswerState {}
class AnswerPicked extends AnswerState {
final String answer;
AnswerPicked({
this.answer,
});
String toString() => '{AnswerPicked: $answer}';
}
我想在 Cubit function 中使用它:
part 'answer_state.dart';
class AnswerCubit extends Cubit<AnswerState> {
final ExamScoreCubit scoreCubit;
AnswerCubit({
@required this.scoreCubit,
}) : super(AnswerInitial());
List<String> userAnswersList = [];
void pickAnswer(String answer) {
emit(AnswerInitial());
emit(AnswerPicked(answer: answer));
}
void takeAnswer(String questionAnswer, int type) {
if(state is AnswerPicked){
userAnswersList.add(state.answer); // state.answer don't work
scoreCubit.checkAnswer(AnswerPicked().answer, questionAnswer, type); // AnswerPicked().answer don't work
}
emit(AnswerInitial());
}
}
在 void takeAnswer() 中,我不想使用上下文在小部件树内传递它 throw 参数。 任何想法如何做到这一点?
userAnswersList.add((state as AnswerPicked) .answer);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.