Flutter Web(Firestore Error) - 期望值类型为"JSObject"<qc>,但得到一个类型为"NativeJavaScriptObject"



我在我的web项目中尝试了flutter cloud firestore。

我在主频道上,在pubspec.yaml文件中使用以下版本。

cloud_firestore: ^0.13.5

Index.html文件:

<script src="https://www.gstatic.com/firebasejs/7.14.2/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.14.2/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.14.2/firebase-firestore.js"></script>
<script>
// TODO: Replace the following with your app's Firebase project configuration.
// See: https://support.google.com/firebase/answer/7015592
var firebaseConfig = {
apiKey: "--apiKey--",
authDomain: "--authDomain--",
databaseURL: "--databaseURL--",
projectId: "--testapp--",
storageBucket: "--test.appspot.com--",
messagingSenderId: "--senderId--",
appId: "--appId--"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);

在我的列表屏幕中,我获取的数据如下:

var reference = widget.firestore.collection('work');
print("reference : ${reference}");
try {
QuerySnapshot snapshot = await reference.getDocuments();
print("work snapshot : ${snapshot}");
} catch (error) {
print("work error : ${error}");
}

但是,在我的flutter web项目中,我在尝试从cloudfirestore获取数据时遇到了一个错误。

错误:

Expected a value of type 'JSObject<qc>', but got one of type 'NativeJavaScriptObject'

有人能提出一个变通的解决方案吗。

谢谢。

抛出错误的原因是,当reference.getDocuments()返回不同的值类型时,您正试图分配QuerySnapshot。要获取Collection中的文档,应使用get((方法。

CollectionReference reference = FirebaseFirestore.instance.collection('work');
QuerySnapshot snapshot = await reference.get();

相关内容

  • 没有找到相关文章

最新更新