Support withConverter
louis030195 opened this issue · comments
Version info
React: 17.0.2
Firebase: 8.3.1
ReactFire: 3.0.0
Expected behavior
export const converter = <T>():
firebase.firestore.FirestoreDataConverter<T> => ({
toFirestore: (data: Partial<T>) => data,
fromFirestore: (snap: firebase.firestore.QueryDocumentSnapshot) =>
snap.data() as T,
});
interface Foo {}
const FooComponent = (props: any) => {
const fs = useFirestore();
const foos = useFirestoreCollection(
fs.collection("foos")
.withConverter(converter<Foo>())
);
// foos type ObservableStatus<firebase.firestore.QuerySnapshot<Foo>>
}
Actual behavior
export const converter = <T>():
firebase.firestore.FirestoreDataConverter<T> => ({
toFirestore: (data: Partial<T>) => data,
fromFirestore: (snap: firebase.firestore.QueryDocumentSnapshot) =>
snap.data() as T,
});
interface Foo {}
const FooComponent = (props: any) => {
const fs = useFirestore();
const foos = useFirestoreCollection(
fs.collection("foos")
.withConverter(converter<Foo>())
);
// foos type ObservableStatus<firebase.firestore.QuerySnapshot<firebase.firestore.DocumentData>>
}
Thanks for reporting this, @louis030195. I think this will be an easy fix in ReactFire once FirebaseExtended/rxfire#33 is released
This is fixed now that ReactFire uses RxFire 6.0.3
.