Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StreamBuilder builder error #40

Open
mahi042 opened this issue Jun 6, 2021 · 9 comments
Open

StreamBuilder builder error #40

mahi042 opened this issue Jun 6, 2021 · 9 comments

Comments

@mahi042
Copy link

mahi042 commented Jun 6, 2021

Screenshot (6)

@kevmiclee
Copy link

https://stackoverflow.com/questions/64186306/closure-call-with-mismatched-arguments-function-in-flutter

This worked for me.

  final messageText = message.data()['text'];
  final messageSender = message.data()['sender'];

@sulavchhetri
Copy link

https://stackoverflow.com/questions/64186306/closure-call-with-mismatched-arguments-function-in-flutter

This worked for me.

  final messageText = message.data()['text'];
  final messageSender = message.data()['sender'];

Unfortunaltely this code doesnot work for me. It says the method '[]' can't be unconditionally invoked because the receiver can be 'null' and when i add the null check sign it says the operator '[]' isn't defined for the type 'Object'.

@NyanjuiA
Copy link

hello all,
This is what worked for me as at Thur. 12th Aug. 2021
if (snapshot.hasData) { final messages = snapshot.data.docs; List<Text> messageWidgets = []; for (var message in messages) { final messageText = message['text']; final messageSender = message['sender']; final messageWidget = Text('$messageText from $messageSender'); messageWidgets.add(messageWidget); } return Column( children: messageWidgets, ); } else { return Text('No Data Found'); }
Nice time and God Bless.

Kind regards,

Nyanjui A.

@fobf
Copy link

fobf commented Sep 30, 2021

 final messageText = message['text'];
final messageSender = message['sender'];

this is what helped me

@syed-m-osama
Copy link

syed-m-osama commented Oct 27, 2021

message.data() gets you the object, meanwhile message.get() gets you the object field.
final messageSender = message.get('sender');
final messageText = message.get('text');
this code bit works perfectly.

@FireWarrior22
Copy link

https://stackoverflow.com/questions/64186306/closure-call-with-mismatched-arguments-function-in-flutter

This worked for me.

  final messageText = message.data()['text'];
  final messageSender = message.data()['sender'];

Thanks. It worked

@hvb24
Copy link

hvb24 commented Feb 2, 2022

i am getting Bad state: field does not exist within the DocumentSnapShotPlatform error message.
Can someone help me?

@rorosuperman
Copy link

StreamBuilder(
stream: _firestore.collection('messages').snapshots(),
builder: (BuildContext context , AsyncSnapshot snapshot) {
if(snapshot.hasData){
final messages = snapshot.data?.docs;
List messageWidgets = [];
for (var message in messages!) {
final messageText = message.data()['text'];
final messageSender = message.data()['sender'];
final messageWidget = Text('$message from $messageSender');
messageWidgets.add(messageWidget);
}
return Column(
children: messageWidgets,
);
}
},
),

Iam getting and error which says

The body might complete normally, causing 'null' to be returned, but the return type, 'Widget', is a potentially non-nullable type.
problem

@rizogiyoev
Copy link

StreamBuilder( stream: _firestore.collection('messages').snapshots(), builder: (BuildContext context , AsyncSnapshot snapshot) { if(snapshot.hasData){ final messages = snapshot.data?.docs; List messageWidgets = []; for (var message in messages!) { final messageText = message.data()['text']; final messageSender = message.data()['sender']; final messageWidget = Text('$message from $messageSender'); messageWidgets.add(messageWidget); } return Column( children: messageWidgets, ); } }, ),

Iam getting and error which says

The body might complete normally, causing 'null' to be returned, but the return type, 'Widget', is a potentially non-nullable type. problem

Hey buddy!

I have the answer. You can use the below code, it worked for me.

StreamBuilder(
stream: _firestore.collection('messages').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
final messages = snapshot.data!.docs;
List messageWidgets = [];
for (var message in messages) {
final messageText = message['text'];
final messageSender = message['sender'];
final messageWidget =
Text('$messageText from $messageSender');
messageWidgets.add(messageWidget);
}
return Column(
children: messageWidgets,
);
} else {
return const Text('No Data Found');
}
},
),

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants