Работаю с Redux и базой firebase realtime database , когда кто-то из пользователей меняет значения в базе она запускает Api функцию в приложении , но как этой функции передать диспач если ее не компонент вызывает ?
не совсем понял, сделать экспорт const store = createStore(combinedReducer); и импортировать его в фаил api ,и вызвать store.dispatch ?
index
"use strict";
import React from 'react';
import ReactDOM from 'react-dom'; /* для работы с веб страницами */ // модуль React для работы с веб-страницами import {render} from 'react-dom';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import 'normalize.css';
import './styles/style.css';
import TaskMain from './page/MainPage.js';
import combinedReducer from "./stores/stores.js";
const store = createStore(combinedReducer);
ReactDOM.render(<Provider store={store}><TaskMain /></Provider>, document.getElementById('root'));
api
// Import the functions you need from the SDKs you need
import { initializeApp } from 'firebase/app';
import { getFirestore, collection, getDocs } from 'firebase/firestore/lite';
import { getDatabase, ref, set, get, child, push, update, remove, query, onValue, runTransaction, onChildChanged, serverTimestamp } from "firebase/database";
import { OPEN_FORM_TASK_ITEM_NEW, OPEN_FORM_TASK_ITEM_EDIT, OPEN_FORM_NEW_TASK_CAPTION, OPEN_FORM_EDIT_TASK_CAPTION, TASKS_LOAD_REQUEST, BOOK_LOAD_REQUEST } from '../stores/const.js';
вот это функция срабатывает при тзменениях в базе
onChildChanged(ref(database, "keeps/sectionlist/"), (data) => {
console.log("onChildChanged");
console.log(data);
/*setCommentValues(postElement, data.key, data.val().text, data.val().author);*/
});