Я использую firebase и redux в проекте React. во время работы над этим у меня возникла идея переместить все мои слушатели firebase на промежуточное ПО redux, и тогда промежуточное ПО будет отвечать за прослушивание изменений в реальном времени в firebase и отправку действий в хранилище redux. Ниже приведено мое тестовое промежуточное ПО
import firebase from "../../firebase";
const testlistener = ({ dispatch }) => (next) => async (action) => {
// also can match regex with "/api"
if (action.type !== "TEST_ACTION") return next(action);
console.log("Running test Action");
let Unsubscribe = firebase
.firestore()
.collection("Test")
.doc("testdoc")
.onSnapshot(function (doc) {
console.log("Current data: ", doc.data());
});
next(action);
};
export default testlistener;
Я хотел знать, как я могу отказаться от подписки на эти изменения, когда мой компонент отключен. как я могу вызвать метод Unsubscribe()
из этого промежуточного программного обеспечения из моего компонента, чтобы удалить этот слушатель