Pengambil 'instance' tidak ditentukan untuk jenis 'Firestore'

Aug 19 2020

Hai teman-teman ketika saya mencoba untuk mendeklarasikan contoh Firestore dia memberikan kesalahan ini! semua yang terjadi setelah saya meningkatkan Flutter saya ke versi terakhir

final databaseReference = Firestore.instance;

saya menggunakan

cloud_firestore: ^0.14.0

Jawaban

4 PeterHaddad Aug 19 2020 at 00:38

Mulai dari cloud_firestoreversi 0.14.0:

Di versi terbaru cloud_firestore, kelas Firestoretersebut tidak digunakan lagi sekarang Anda harus menggunakan FirebaseFirestore, jadi lakukan saja:

Impor paket:

import 'package:cloud_firestore/cloud_firestore.dart'

Untuk membuat sebuah instance:

final databaseReference  = FirebaseFirestore.instance;

Tautan Lain Mengenai Perubahan di Firebase:

Tidak ada Aplikasi Firebase '[DEFAULT]' yang telah dibuat - panggil Firebase.initializeApp () di Flutter dan Firebase

Kelas tidak ditentukan 'FirebaseUser'

cloud_firestore 0.14.0 cara menggunakan metode data

3 ombiro Aug 20 2020 at 12:54

Cloud_firestore versi 0.14.0 memiliki perubahan berikut: impor paket:

import 'package:firebase_auth/firebase_auth.dart';

FirebaseUser tidak lagi tersedia. Untuk mendeklarasikan Pengguna Firebase, gunakan yang Berikut; // Pengguna,

Untuk mendeklarasikan instance Firebase, gunakan:

final firebaseInstance= FirebaseFirestore.instance;

alih-alih memanggil .document (uid), gunakan:

.doc(uid)

sebagai contoh:

    await db
    .collection(Str.USERS_MESSAGE_LIST)
    .document(uid)
    .collection(Str.MESSAGE_COLLECTION)
    .document("$itemId$sellerId")
    .setData({...

akan menjadi:

    await db
    .collection(Str.USERS_MESSAGE_LIST)
    .doc(uid)//note this
    .collection(Str.MESSAGE_COLLECTION)
    .document("$itemId$sellerId")
    .set({//note this

Mirip untuk kueri lain, gunakan .data () sebagai lawan .data ([]} mis

.startAfter([lastDocument.data[Str.ITEM_NAME]]).limit(perPage);

akan ditulis ulang sebagai:

.startAfter([lastDocument.data()[Str.ITEM_NAME]]).limit(perPage);//note the () after data

Untuk pengguna: gunakan:

User user = FirebaseAuth.instance.currentUser;

Dan banyak perubahan lainnya - lihat dokumentasi resmi Firestore / Firebase