Flutter 如何在dart中将这些代码块转换为不可为空的语句?
我试图将这些代码行转换为不可为空的语句,但遇到错误 正文可能正常完成,导致返回“null”,但返回类型可能是不可为null的类型。 尝试在末尾添加return或throw语句Flutter 如何在dart中将这些代码块转换为不可为空的语句?,flutter,dart,Flutter,Dart,我试图将这些代码行转换为不可为空的语句,但遇到错误 正文可能正常完成,导致返回“null”,但返回类型可能是不可为null的类型。 尝试在末尾添加return或throw语句 child:BlocBuilder( 生成器:(上下文、状态){ 如果(状态为LoginInitialState){ 返回buildInitialUi(); }else if(状态为LoginLoadingState){ 返回buildLoadingUi(); }else if(状态为LoginFailState){ 返回
child:BlocBuilder(
生成器:(上下文、状态){
如果(状态为LoginInitialState){
返回buildInitialUi();
}else if(状态为LoginLoadingState){
返回buildLoadingUi();
}else if(状态为LoginFailState){
返回buildFailureUi(state.message);
}else if(状态为LoginSucessState){
emailCntrlr.text=“”;
passCntrlr.text=“”;
返回容器();
}
},
),
试试这个
child:BlocBuilder(
生成器:(上下文、状态){
如果(状态为LoginInitialState){
返回buildInitialUi();
}else if(状态为LoginLoadingState){
返回buildLoadingUi();
}else if(状态为LoginFailState){
返回buildFailureUi(state.message);
}else if(状态为LoginSucessState){
emailCntrlr.text=“”;
passCntrlr.text=“”;
返回容器();
}
return Container();//如果if语句均为true
},
),
您不能按照错误消息所说的做,并在末尾添加一个throw
语句吗?它成功了,谢谢。但是,在访问状态属性(即state.message)时,出现了一个错误。。。“无法将参数类型'String'分配给参数类型'String'。”在SDK中进行空安全升级后,我在许多地方发现了此类错误!如果消息可为空,则可以设置默认值:state.message???”代码>如何使用未升级到空安全的包?
child: BlocBuilder<LoginBloc, LoginState>(
builder: (context, state) {
if (state is LoginInitialState) {
return buildInitialUi();
} else if (state is LoginLoadingState) {
return buildLoadingUi();
} else if (state is LoginFailState) {
return buildFailureUi(state.message);
} else if (state is LoginSuccessState) {
emailCntrlr.text = "";
passCntrlr.text = "";
return Container();
}
},
),
child: BlocBuilder<LoginBloc, LoginState>(
builder: (context, state) {
if (state is LoginInitialState) {
return buildInitialUi();
} else if (state is LoginLoadingState) {
return buildLoadingUi();
} else if (state is LoginFailState) {
return buildFailureUi(state.message);
} else if (state is LoginSuccessState) {
emailCntrlr.text = "";
passCntrlr.text = "";
return Container();
}
return Container(); // Incase none of the if statements is true
},
),