参数类型 'Null Function(Reaction, int)' 不能分配给参数类型 'dynamic Function(Reaction, int, bool)'

时间:2021-03-06 02:07:38

标签: flutter

您好,我的代码中出现以下错误。我真的很感激任何帮助!这是错误输出

错误:无法将参数类型“Null Function(Reaction, int)”分配给参数类型“dynamic Function(Reaction, int, bool)”。

  • 'Reaction' 来自 'package:flutter_reaction_button/src/reaction.dart' ('../../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_reaction_button-1.0.7 +3/lib/src/reaction.dart')。 onReactionChanged:(反应,isChecked){ 和

错误:“int”类型的值不能分配给“bool”类型的变量。 如果(已检查){ ^

                                             ^




return FlutterReactionButtonCheck(
                          onReactionChanged: (reaction, isChecked) {
                            setState(() {
                              post.myReaction = Reaction(
                                  id: reaction.id,
                                  icon: reaction.icon,
                                  previewIcon: reaction.previewIcon);
                            });
                            if (isChecked) {
                              bool isNewReaction = false;
                              SocialReactionModel postReaction =
                                  _reactionsList.firstWhere(
                                      (element) =>
                                          element.postID == post.id,
                                      orElse: () {
                                isNewReaction = true;
                                String reactionString =
                                    getReactionString(reaction.id);
                                SocialReactionModel newReaction =
                                    SocialReactionModel(
                                        postID: post.id,
                                        createdAt: Timestamp.now(),
                                        reactionAuthorID:
                                            MyAppState.currentUser.userID,
                                        reaction: reactionString);
                                _reactionsList.add(newReaction);
                                return newReaction;
                              });
                              if (isNewReaction) {
                                setState(() {
                                  post.reactionsCount++;
                                });
                                fireStoreUtils.postReaction(
                                    postReaction, post);
                              } else {
                                postReaction.reaction =
                                    getReactionString(reaction.id);
                                postReaction.createdAt = Timestamp.now();
                                fireStoreUtils.updateReaction(
                                    postReaction, post);
                              }
                            } else {
                              _reactionsList.removeWhere(
                                  (element) => element.postID == post.id);
                              setState(() {
                                post.reactionsCount--;
                              });
                              fireStoreUtils.removeReaction(post);
                            }
                          },

1 个答案:

答案 0 :(得分:0)

我认为是旧版本,尝试使用最新版本:

flutter_reaction_button: ^1.0.8
相关问题