Я создаю приложение для блога, при создании нового пользователя я получил следующую ошибку.
I / flutter (1603): 'file: /// C: /flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.8.4+5/lib/src/firebase_auth.dart' : Неудачное утверждение: строка 103 поз. 12: 'email! = Null': неверно.
Приведенное выше сообщение отображается в терминале, когда я хочу создать нового пользователя в своем приложении.
Ниже приведен код для моей страницы создания учетной записи, где я использовал функцию UserManagement () для хранения пользовательских данных в firestore.
Padding(
padding:
const EdgeInsets.fromLTRB(25.0, 10.0, 25.0, 10.0),
child: TextFormField(
decoration: InputDecoration(
labelText: "E-mail",
border: OutlineInputBorder(
gapPadding: 10.0,
borderRadius: BorderRadius.circular(30.0))),
onSaved: (value) {
setState(() {
_email = value;
});
},),
),
Padding(
padding:
const EdgeInsets.fromLTRB(25.0, 10.0, 25.0, 10.0),
child: TextFormField(
obscureText: true,
decoration: InputDecoration(
labelText: "Password",
border: OutlineInputBorder(
gapPadding: 10.0,
borderRadius: BorderRadius.circular(30.0))),
onSaved: (value) {
setState(() {
_password = value;
});
},
),
),
Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
StreamBuilder<Object>(
stream: null,
builder: (context, snapshot) {
return SizedBox(
width: 367.0,
height: 60.0,
// Padding(
// padding: const EdgeInsets.all(8.0),
child: RaisedButton(
child: Text("Next",
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w300)),
color: Colors.black54,
onPressed: () {
if (_formkey.currentState
.validate()) {
FirebaseAuth.instance.createUserWithEmailAndPassword(
email: _email,
password: _password,
).then((signedInUser){
UserManagement().storeNewUser(signedInUser, context);
}).catchError((e){
print(e);
});
Вот код для функции UserManagement ()
class UserManagement {
storeNewUser(user, context) {
Firestore.instance.collection('/users').add({
'email': user.email,
'uid': user.uid,
}).then((value) {
StreamBuilder<Object>(
stream: null,
builder: (context, snapshot) {
Navigator.of(context).pop();
Navigator.push(
context, MaterialPageRoute(builder: (context) => Desc()));
});
}).catchError((e) {
print(e);
});
}
}