У меня есть проект реагировать на избыточность, я хочу использовать FireBase FireStore в режиме реального времени.
Сейчас у меня есть действие, которое выбирает исходные данные:
export const handleInitialData = () => async dispatch => {
const lists = await firestore.collection('lists').get()
if (lists) {
const resolvedLists = lists.docs.map(list => list.data())
return dispatch(receiveLists(resolvedLists))
}
}
Как вы могу видеть, что я использую .collection('lists').get()
, и это работает.
Но я хочу использовать слушателя в реальном времени, используя .onSnapshot
, например:
export const handleInitialData = () => async dispatch => {
const lists = await firestore.collection('lists').onSnapshot(snapshop => {
let changes = snapshop.docChanges()
})
}
, но если я это сделаю, я получу ошибка: Unhandled Rejection (TypeError): Cannot read property 'map' of undefined
Понятия не имею, откуда отсюда go ... есть какие-нибудь советы по работе?
Я видел, есть ли эта библиотека https://github.com/prescottprue/react-redux-firebase
Но он использует recompose
, который я ненавижу, плюс автор больше не рекомендует его.
Это может вызвать некоторую помощь.