繁体   English   中英

如何在 Cubit 中使用 CubitState 变量? 颤振/块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM