'_CastError (Null check operator used on a null value) with flutter

class Body extends StatefulWidget {
  @override
  _Body createState() => _Body();
}

class _Body extends State<Body> {
  AuthMethods authMethods = new AuthMethods();
  TextEditingController userNameController = new TextEditingController();
  TextEditingController emailController = new TextEditingController();
  TextEditingController passwordController = new TextEditingController();
  DatabaseMethods databaseMethods = new DatabaseMethods();
  bool isLoading = false;
  final formKey = GlobalKey<FormState>();

  singUp() async {
    if (formKey.currentState!.validate()) { //=> ERROR
      setState(() {
        isLoading = true;
      });

      await authMethods
          .signUpWithEmailAndPassword(
              emailController.text, passwordController.text)
          .then((result) {
        if (result != null) {
          Map<String, String> userDataMap = {
            "userName": userNameController.text,
            "userEmail": emailController.text
          };

          databaseMethods.addUserInfo(userDataMap);

          HelperFunctions.saveUserLoggedInSharedPreference(true);
          HelperFunctions.saveUserNameSharedPreference(userNameController.text);
          HelperFunctions.saveUserEmailSharedPreference(
              userNameController.text);

          Navigator.pushReplacement(
              context, MaterialPageRoute(builder: (context) => HomePage()));
        }
      });
    }
  }

When I remove the exclamation mark and put a question mark, I get an error and it only gives an error when currentState. What do you think is the reason? I don't know what to do please help.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source