Flutter like_button 动画在点击时滞后
Flutter like_button animation lags on tap
我正在使用 https://pub.dev/packages/like_button 版本 like_button: ^1.0.4.
LikeButton(
onTap: (value) {
onGroupVotePress(document);
return Future.value(!value);
},
),
当我 运行 运行我的 onGroupVotePress
函数时,我的 like_button 动画崩溃了。
void onGroupVotePress(DocumentSnapshot document) {
Network().appendToGroupList(document.id);
Network().appendToGroupList(document.id);
}
我的 appendToGroupList
函数是一个简单的 firestore 更新:
Future appendToGroupList(String groupId, String field, List list) async {
FirebaseFirestore.instance
.collection('groups')
.doc(groupId)
.update({field: FieldValue.arrayUnion(list)});
}
为什么要在 like_button 滞后的情况下向 onTap 添加一个简单的 void 函数?
另外,在 like_button onTap 完成后,我如何 运行 编码?
谢谢。
试试下面的代码:
LikeButton(
onTap: (value) async {
await onGroupVotePress(document);
return !value;
},
),
Future<void> onGroupVotePress(DocumentSnapshot document) async {
await Network().appendToGroupList(document.id);
await Network().appendToGroupList(document.id);
}
Future<void> appendToGroupList(String groupId, String field, List list) async {
await FirebaseFirestore.instance.collection('groups').doc(groupId).update({
field: FieldValue.arrayUnion(list)
});
}
我正在使用 https://pub.dev/packages/like_button 版本 like_button: ^1.0.4.
LikeButton(
onTap: (value) {
onGroupVotePress(document);
return Future.value(!value);
},
),
当我 运行 运行我的 onGroupVotePress
函数时,我的 like_button 动画崩溃了。
void onGroupVotePress(DocumentSnapshot document) {
Network().appendToGroupList(document.id);
Network().appendToGroupList(document.id);
}
我的 appendToGroupList
函数是一个简单的 firestore 更新:
Future appendToGroupList(String groupId, String field, List list) async {
FirebaseFirestore.instance
.collection('groups')
.doc(groupId)
.update({field: FieldValue.arrayUnion(list)});
}
为什么要在 like_button 滞后的情况下向 onTap 添加一个简单的 void 函数?
另外,在 like_button onTap 完成后,我如何 运行 编码?
谢谢。
试试下面的代码:
LikeButton(
onTap: (value) async {
await onGroupVotePress(document);
return !value;
},
),
Future<void> onGroupVotePress(DocumentSnapshot document) async {
await Network().appendToGroupList(document.id);
await Network().appendToGroupList(document.id);
}
Future<void> appendToGroupList(String groupId, String field, List list) async {
await FirebaseFirestore.instance.collection('groups').doc(groupId).update({
field: FieldValue.arrayUnion(list)
});
}