构造函数的函数参数为 null 。 #扑

Function parameter of contructor was null . #Flutter

我有一个 class 可以在 SignInPage 和 SignUpPage 之间更改 UI。

class Authenticate extends StatefulWidget {
  @override
  _AuthenticateState createState() => _AuthenticateState();
}

class _AuthenticateState extends State<Authenticate> {
  bool showSignIn = true;
  toggleView() {
    setState(() {
      showSignIn = !showSignIn;
    });
  }

  @override
  Widget build(BuildContext context) {
    if (showSignIn) {
      return SignIn(
        toggleView(),
      );
    } else
      return SignUp(
        toggle: toggleView(),
      );
    ;
  }
}

这是我在 SignInPage 中的构造函数

 Function toogle;
  @override
  SignIn(Function fun) {
    this.toogle = fun;
  }

toogle 始终为 null,我不知道为什么 :(

如果你想传递函数,你应该通过引用传递它。现在,您正在执行函数并传递其结果。

改变这个:

return SignIn(
  toggleView(),
);

对此:

return SignIn(
  toggleView,
);

此外,不确定构造函数是否需要 @override,也许您可​​以删除它。