The method '[]' can't be unconditionally invoked because the receiver can be 'null'. Try making the call conditional (using '?.'ll check to the target

Viewed 22
return StreamBuilder<QuerySnapshot>(
  stream: _firestore
      .collection('messages')
      .orderBy('timestamp', descending: false)
      .snapshots(),
  builder: (context, snapshot) {
    if (!snapshot.hasData) {
      return Center(
        child: CircularProgressIndicator(
          backgroundColor: Colors.lightBlueAccent,
        ),
      );
    }
    final messages = snapshot.data!.docs.reversed;
    List<MessageBubble> messageBubbles = [];
    for (var message in messages) {
      final messageText = message.data()['text']; ==> error 
      final messageSender = message.data()['send']; ==> error 

      final currentUser = auth.currentUser?.email;

      final messageBubble = MessageBubble(
        sender: messageSender,
        text: messageText,
        isMe: currentUser == messageSender,
      );
      messageBubbles.add(messageBubble);
    }
    return Expanded(
      child: ListView(
        reverse: true,
        padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 20.0),
        children: messageBubbles,
      ),
    );
  },
);

} }

click to see the error in picture

0 Answers
Related