Цель
Я пытаюсь передать некоторые объекты, которые я возвращаю из Firestore, в мой редуктор, чтобы я мог отобразить некоторые результаты обратно пользователю.
Проблема
КогдаЯ пытаюсь позвонить и передать запрос редуктору, он не работает. Я запускаю console.log, чтобы увидеть, вызывается ли редуктор, но нигде не появляется. Я думаю, потому что у меня есть вложенные операторы возврата ?, Это правда?
Вот мое действие:
export const queryBidder = (value) => {
return async (dispatch, getState, { getFirestore }) => {
const firestore = getFirestore();
const normalizeValue = _.capitalize(value);
let Query = []
firestore.collection("bidders").where("firstname", ">=", normalizeValue).get()
.then(snapshot => {
if (snapshot.empty) {
console.log('No matching bidders.');
return;
}
snapshot.forEach(doc => {
Query.push(doc.data());
return { type: actionTypes.QUERYBIDDER, Query: Query };
});
})
.catch(err => {
console.log('Error getting documents', err);
});
}
};
Когда я помещаю оператор возврата выше асинхронного оператора возврата, все работает хорошо,Однако мне нужно уметь звонить getFirestore()
. Эта установка взята из учебника, который я нашел в Udemy, если честно, я не совсем понимаю его.
return async (dispatch, getState, { getFirestore })
Как они проходят? Откуда они? Почему заказ имеет значение? Как я могу просто получить доступ к функции getfirestore()
, не оборачивая логику своих действий в эту функцию?