Muh*_*eef 4 android reactive-programming dart flutter react-state-management
我是Flutter和Dart语言的新手。而沿教程中,我创建其中有2个验证程序类以下StreamTransformers,这是被在试图完成集团pattren,其中用户将在2周键入电子邮件地址和密码的TextField,因此将被验证每次在他们的文本改变。
如果我使用传入的电子邮件或密码,我会在FromHandler构造函数中的该验证器类中遇到大量错误,但当我将它们放入if 语句中时,就像我在这里所做的那样,它们不会被重新识别为字符串对象,那就是您可以在下面的屏幕截图中看到此处的错误原因。
除了它们,bloc文件还有一些错误,如下面的第二个屏幕截图所示:
颤振版本:0.5.1 飞镖版本:2.0
有关完整代码,请查看此 repo 中的login_stateful_bloc文件夹:https : //github.com/touseefbsb/LoginStateful
只需删除 => 表达式并像这样使用:
    final validateEmail = StreamTransformer<String,String>.fromHandlers(
        handleData: (email,sink) {
          if(email.contains('@')){
            sink.add(email);
          }
          else{
            sink.addError('Email not valid!');
          }
        }
       );
Run Code Online (Sandbox Code Playgroud)
=> expr 语法是 { return expr; 的简写。}. => 符号有时被称为粗箭头语法。
注意:在箭头 (=>) 和分号 (;) 之间只能出现表达式而不是语句。例如,您不能在那里放置 if 语句,但可以使用条件表达式。
如果您想使用 => ,请尝试以下操作:
   final validateEmail = StreamTransformer<String,String>.fromHandlers(
      handleData: (email, sink) => _fatArrowMethod(email,sink));
     static _fatArrowMethod(email, sink){
       if(email.contains('@')){
          sink.add(email);
        }
        else{
          sink.addError('Email not valid!');
        }
     }
Run Code Online (Sandbox Code Playgroud)
我在方法上使用静态,因为只有静态方法才能从初始值设定项中访问。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1848 次  |  
        
|   最近记录:  |