Я хочу получить данные из Firestore для отображения в моем приложении, но если я запускаю свое приложение, я получаю сообщение об ошибке, подобное этому:
Метод '[]' был вызван для нуля , Получатель: null Пробный вызов:
Это происходит, когда я использую 'data [' firstname], а также 'data [saldo]. toString (), on child Text ();
Я не знаю, что мне делать, чтобы решить эту проблему
мой код указан ниже:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class Top extends StatefulWidget {
@override
_TopState createState() => _TopState();
}
class _TopState extends State<Top> {
dynamic data;
Future<dynamic> getData() async {
final DocumentReference document = Firestore.instance
.collection('users')
.document('Ljlhq1wqPad4EejHTHPqIyGjJSD2');
await document.get().then<dynamic>((DocumentSnapshot snapshot) async {
setState(() {
data = snapshot.data;
});
});
}
@override
void initState() {
super.initState();
getData();
}
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
Column(
children: <Widget>[
Container(
color: Color(0xff216353),
height: 170,
),
],
),
//Row utama
Row(
children: <Widget>[
Container(
margin: EdgeInsets.only(top: 30.0, left: 20),
child: Center(
child: Text(
data['firstname'],
style: TextStyle(
color: Colors.white,
fontFamily: 'Poppins',
fontSize: 25.0,
fontWeight: FontWeight.bold),
),
),
),
],
),
Row(
// mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Column(
children: <Widget>[
Container(
margin: EdgeInsets.only(top: 65.0, left: 20),
child: Text(
'Total Saldo : ',
style: TextStyle(
color: Colors.white,
fontFamily: 'Poppins',
fontSize: 12.0,
),
),
),
],
),
Column(
children: <Widget>[
Container(
margin: EdgeInsets.only(top: 65.0, left: 5),
child: Text(
data['saldo'].toString(),
style: TextStyle(
color: Colors.white,
fontFamily: 'Poppins',
fontSize: 12.0,
),
),
)
],
)
],
),
],
);
}
}