Гид по технологиям

Подключение React к Firebase: пошаговый гид

5 min read Frontend Обновлено 09 Jan 2026
Подключение React к Firebase — быстрый гид
Подключение React к Firebase — быстрый гид

Что такое Firebase

Firebase — это набор облачных сервисов (BaaS) от Google: база данных (Firestore), аутентификация, хранилище, функции и аналитика. Коротко: Firebase позволяет быстро подключить бэкенд‑функции без написания сервера. (Определение: Firestore — документно‑ориентированная облачная БД для реального времени и офлайн‑режима.)

Установите пакет Firebase

После создания приложения React перейдите в корневую папку проекта и выполните установку пакета Firebase:

npm install firebase  

Важно: используйте актуальную версию пакета; при возникновении ошибок проверьте совместимость с вашей версией React.

Добавьте приложение React в проект Firebase

Зарегистрируйте проект в консоли Firebase и свяжите с вашим приложением React:

  1. Нажмите Добавить проект для создания нового проекта Firebase. Консоль Firebase — домашняя страница с кнопкой добавления проекта
  2. Введите название проекта и нажмите Продолжить. Шаги создания проекта Firebase: ввод названия и продолжение
  3. Нажмите Продолжить на следующей странице.
  4. Выберите аккаунт Firebase из выпадающего списка или нажмите Создать новый аккаунт, если у вас его ещё нет.
  5. Нажмите Создать проект для завершения инициализации. Окно создания проекта Firebase — финальный шаг
  6. После завершения нажмите Продолжить.
  7. Чтобы настроить веб‑приложение, кликните по иконке Web ( ) в верхней части страницы. Опция добавления веб‑приложения в консоли Firebase
  8. Введите короткое имя приложения и нажмите Зарегистрировать приложение. Форма регистрации веб‑приложения в Firebase: поле для названия и кнопка регистрации
  9. Скопируйте сгенерированный код конфигурации — он понадобится на следующем шаге.
  10. Нажмите Перейти в консоль.
  11. На странице опций выберите Cloud Firestore — в этой инструкции нам нужна база данных. Выбор Cloud Firestore в списке сервисов Firebase
  12. Далее нажмите Создать базу данных. Страница создания базы данных Firestore в консоли Firebase
  13. Нажмите Далее и выберите регион для вашей базы Firestore.
  14. Нажмите Включить, чтобы создать базу данных. Меню создания базы данных Firebase с кнопкой включения

Совет: выбирайте регион, ближайший к вашим пользователям, чтобы снизить задержки.

Инициализация Firebase в вашем React‑приложении

Создайте папку внутри src, например firebase_setup, и в ней файл firebase.js. Вставьте в него конфигурацию, которую вы скопировали из консоли Firebase.

Рекомендуемый способ хранения ключей в разработке — файл .env. Для React‑приложений имена переменных должны начинаться с префикса REACT_APP. И не забудьте перезапустить dev‑сервер после изменения .env.

Пример записи в .env:

REACT_APP_apiKey = yourFirebaseAccessKey  

Пример файла инициализации (firebase.js):

import { initializeApp } from "firebase/app";  
import { getFirestore } from "@firebase/firestore"  
  
const firebaseConfig = {  
  apiKey: process.env.REACT_APP_apiKey,  
  authDomain: process.env.REACT_APP_authDomain,  
  projectId: process.env.REACT_APP_projectId,  
  storageBucket: process.env.REACT_APP_storageBucket,  
  messagingSenderId: process.env.REACT_APP_messagingSenderId,  
  appId: process.env.REACT_APP_appId,  
  measurementId: process.env.REACT_APP_measurementId  
};  
  
const app = initializeApp(firebaseConfig);  
export const firestore = getFirestore(app)

Примечание: в продакшне храните секреты в защищённых переменных окружения CI/CD или в сервисах секретного хранилища, а не в публичном репозитории.

Важно: .env файлы не защищены автоматически — следите, чтобы они не попали в git (добавьте в .gitignore).

Тестирование подключения к Firestore

Проверьте работу, отправив тестовые данные в Firestore. Создайте папку handles в src и файл обработчика, например handlesubmit.js:

import { addDoc, collection } from "@firebase/firestore"  
import { firestore } from "../firebase_setup/firebase"  
  
const handleSubmit = (testdata) => {  
    const ref = collection(firestore, "test_data")  // Firebase создаёт коллекцию автоматически  
  
    let data = {  
        testData: testdata  
    }  
      
    try {  
        addDoc(ref, data)  
    } catch(err) {  
        console.log(err)  
    }  
}  
  
export default handleSubmit  

Затем внутри App.js используйте простой form‑handler для отправки данных:

import './App.css';  
import handleSubmit from './handles/handlesubmit';  
import { useRef } from 'react';  
  
function App() {  
  const dataRef = useRef()  
  
  const submithandler = (e) => {  
    e.preventDefault()  
    handleSubmit(dataRef.current.value)  
    dataRef.current.value = ""  
  }  
  
  return (  
    
); } export default App;

Запустите приложение React, отправьте форму и обновите консоль Firebase — вы увидите добавленную запись в коллекции test_data.

Развитие приложения: что дальше

После базовой интеграции вы можете использовать другие сервисы Firebase:

  • Аутентификация (Email/Password, OAuth провайдеры).
  • Хранилище (Storage) для файлов и изображений.
  • Функции (Cloud Functions) для выполнения серверного кода.
  • Правила безопасности (Firestore Rules) для ограничения доступа.
  • Отчёты и аналитика (Analytics).

Когда Firebase может не подойти

  • Если вам нужен полностью настраиваемый серверный стек с тонким контролем над инфраструктурой.
  • Если обязательна поддержка SQL‑баз данных с транзакциями на уровне RDBMS (хотя можно интегрировать сторонние БД).
  • Если требования к стоимости и прогнозируемости биллинга критичны — на больших нагрузках может быть дороже.

Альтернативы: Supabase (Postgres + realtime), AWS Amplify, Hasura, собственный бэкенд на Node/Go.

Ментальные модели и быстрые эвристики

  • «Backend as a service» — думайте о Firebase как о наборе API: аутентификация, БД, хранилище, функции.
  • Начинайте с правил безопасности: сначала разворачивайте в режиме тестирования, затем ограничивайте доступ для продакшена.
  • Разделение обязанностей: фронтенд отправляет запросы в Firebase; чувствительные операции — в Cloud Functions.

Мини‑методология внедрения (шаги)

  1. Регистрация проекта и создание Firestore.
  2. Локальная инициализация (firebase.js) с переменными окружения.
  3. Тестовая запись данных и проверка консоли.
  4. Настройка правил безопасности и аутентификации.
  5. Подготовка к деплою и хранение секретов в CI/CD.

Чек‑лист перед развёртыванием

  • Ключи не закоммичены в репозиторий.
  • Перезапущен dev‑сервер после изменений .env.
  • Правила Firestore проверены и протестированы.
  • Настроена аутентификация для пользовательских сценариев.
  • Лимиты и биллинг оценены для ожидаемой нагрузки.

Безопасность и соответствие (коротко)

  • Ограничьте чтение/запись в Firestore с помощью правил, проверяющих uid и поля документов.
  • Для персональных данных подумайте о шифровании и минимизации хранения.
  • Для GDPR: храните только необходимые данные, документируйте правовые основания обработки и предложите пользователю возможность удаления данных.

Пример решения — когда использовать Cloud Functions

Если вам нужно выполнить операцию с секретами или интегрировать сторонний API (например платёжный шлюз), вынесите процесс в Cloud Functions и вызывайте её из фронтенда. Это снижает риск утечки ключей и упрощает логику в клиенте.

Диаграмма выбора: Firebase или альтернатива

flowchart TD
  A[Нужно быстро запустить MVP?] -->|Да| B[Использовать Firebase]
  A -->|Нет| C[Нужен кастомный бэкенд]
  C --> D{Требуется SQL?}
  D -->|Да| E[Рассмотреть Supabase/Hasura]
  D -->|Нет| F[Собственный API на Node/Go или AWS]
  B --> G{Нужны транзакции SQL?}
  G -->|Да| E
  G -->|Нет| H[Оставаться на Firebase]

Роли и обязанности — быстрый контрольный список

  • Разработчик: настроить SDK, написать обработчики, протестировать локально.
  • DevOps: хранение секретов, деплой, настройка CI/CD и мониторинга.
  • Продукт/менеджер: определить сценарии аутентификации и требований к данным.

Краткое резюме

Firebase даёт быстрый старт для приложений на React: вы настраиваете проект в консоли, добавляете конфигурацию в приложение, тестируете запись в Firestore и затем расширяете функциональность (аутентификация, Storage, Functions). Обязательно настройте правила безопасности и храните секреты вне публичных репозиториев.

Глоссарий (одной строкой каждый)

  • Firestore — облачная документная БД от Firebase.
  • SDK — набор библиотек для подключения к Firebase.
  • Cloud Functions — бессерверные функции для выполнения серверной логики.

Если нужно, могу дополнить руководство примерами аутентификации, правилами Firestore или инструкцией по деплою на Vercel/Netlify.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство