【发布时间】:2022-12-15 00:38:42
【问题描述】:
大家好,希望你们一切顺利!
我有一个问题,是如何在课堂上使用 switch case? (这里'state'是主类,其他类继承自state。)
例如,我试图替换它:
if(state is LoadingPage) {return LoadingPage;}
else if {state is SuccessPage) {return SuccessPage;}
else if {state is FailPage) {return FailPage;}
对此:
switch (state){
case LoadingPage: {return LoadingPage;}
case SuccessPage: {return SuccessPage;}
case FailPage: {return FailPage;}
}
它没有用,对我有用的是将状态设为字符串,如下所示:
switch (state.toString()){
case 'LoadingPage': {return LoadingPage;}
case 'SuccessPage': {return SuccessPage;}
case 'FailPage': {return FailPage;}
}
它虽然有效,但它是一个短期解决方案,就像如果我必须编辑一些东西,那么很难改变一切(因为它是一个字符串)..
【问题讨论】:
-
嗨,我添加了一个有点类似于 switch 的解决方案。您可以使用
map处理所有情况,或使用maybeMap()仅处理您需要的情况。
标签: flutter dart mobile switch-statement