_TypeError(“Null”类型不是“String”类型的子类型)我该如何解决这个问题,我想在 flutter 应用程序上显示一条消息

问题描述 投票:0回答:1
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';

class ChatMessages extends StatelessWidget {
  const ChatMessages({super.key});

  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: FirebaseFirestore.instance
          .collection('chat')
          .orderBy(
            'createAt',
            descending: false,
          )
          .snapshots(),
      builder: (context, chatsnapshots) {
        if (chatsnapshots.connectionState == ConnectionState.waiting) {
          return const Center(
            child: CircularProgressIndicator(),
          );
        }

        if (!chatsnapshots.hasData || chatsnapshots.data!.docs.isEmpty) {
          return const Center(
            child: Text('No message  found '),
          );
        }
        if (chatsnapshots.hasError) {
          return const Center(
            child: Text('something went wrong'),
          );
        }
        final loadedMessages = chatsnapshots.data!.docs;

        return ListView.builder(
          itemCount: loadedMessages.length,
          itemBuilder: (context, index) =>
              Text(loadedMessages[index].data()['text']),
        );
      },
    );
  }
}

我想显示从 Flutter 应用程序输入的消息。 Firebase 消息已更新,但应用程序中未更新。

flutter firebase dart google-cloud-firestore
1个回答
0
投票

您遇到的错误可能与访问列表生成器中的

text
字段有关。仔细检查以确保该值不为空。

此外,在数据库中存储聊天数据时,请确保没有存储任何空值。这有助于防止将来出现类似错误。

© www.soinside.com 2019 - 2024. All rights reserved.