#reactjs #firebase #redux #google-cloud-firestore #react-redux-firebase
#reactjs #firebase #redux #google-облако-firestore #react-redux-firebase
Вопрос:
Мне интересно, возможно ли, чтобы изменения в базе данных Firestore автоматически отражались в приложении React. То есть — если у меня правильная терминология — могу ли я связать их вместе, при этом база данных Firestore будет выступать в качестве модели, а приложение React — в качестве представления.
Не используя что-то вроде WebSockets, я не могу придумать способ, который не включал бы какой-либо опрос.
Я наткнулся react-redux-firebase
на, который позволяет подключить Firestore к Redux. Но на первый взгляд я не могу сказать, означает ли это, что изменения в Firestore автоматически передаются в Redux, то есть react-redux-firebase
Выполняет ли какой-то опрос и т. Д. Сам по себе. Или вам нужно самостоятельно запрашивать данные Firestore.
(Полное раскрытие: отражение изменений в React из базы данных Firestore — это небольшая часть задачи кодирования, над которой я работаю, но я полагаю, что будет справедливо спросить о переполнении стека, чтобы узнать, иду ли я по жизнеспособному пути, поскольку это то, что я бы сделал в «реальной жизни» в любом случае. Я подозреваю, что мне нужно будет провести опрос самому, но хотел посмотреть, есть ли какая-нибудь библиотека, например react-redux-firebase
, которая «выталкивала» данные из Firestore для автоматического реагирования / преобразования).
Комментарии:
1. Конечно: используйте прослушиватель, как показано здесь, firebase.google.com/docs/firestore/query-data/listen , а затем в
onSnapshot
установите данные в состояние вашего компонента react, который затем запускает повторный запуск пользовательского интерфейса с обновленным содержимым. Если у вас возникли проблемы с выполнением этой работы, отредактируйте свой вопрос, чтобы показать, что вы сделали.2. @FrankvanPuffelen — Один вопрос, у меня есть объект конфигурации, который содержит информацию о закрытом ключе и т. Д. В приложении узла я могу получить доступ к учетной записи firestore с помощью firebase-admin, `firebaseAdmin.initializeApp({учетные данные: firebaseAdmin.credential.cert (configObject)});`, но когда я пытаюсь использовать Firebase Javascript SDK (не могу использовать firebase-admin в React) Я не вижу ни одного подобного метода. То есть, используя SDK или react-redux-firebase, все они, похоже, хотят другой объект, используя ключ API, оставляя auth на потом. Как автоматически войти в систему, используя учетные данные с закрытым ключом?
3. Вы не можете безопасно использовать Admin SDK в клиентском коде. На данный момент это начинает звучать как проблема XY .
4. Справедливо, я думаю, что это кроличья нора. Хотя спасибо за вашу помощь. Я думаю, проблема в том, что это был тест полного стека, а не тест Firebase, и я теряюсь в деталях реализации Firebase, когда у меня нет достаточных привилегий, чтобы следовать любому из маршрутов, предложенных документацией. Я внедрил решение для опроса, в котором интерфейс React опрашивает серверную часть express, которая МОЖЕТ входить в базу данных Firebase через администратора — это лучшее, что я могу сделать на данный момент…
5. Ответил ли на ваш вопрос первоначальный комментарий, опубликованный Фрэнком ван Пуффеленом?