20240413 firebase 설치 및 react 웹 구현
2024. 4. 14. 19:52ㆍReact
[Firebase] 프론트엔드에서 DB 다루기
\[Firebase Docs]규모가 커지면 보안 등의 문제가 생긴다.규칙에서 보안처리를 하는데, 이 부분을 설정하기가 조금 까다롭다.간단하게 서비스를 만들거나 테스트 서비스 검증용으로는 좋은 선택이
velog.io
DB를 다운 받기 전에 먼저 firebase 에 가입 - 보통 구글 아이디가 있으면 쉬움
firebase에 가입하면 #API 코드 - 회원가입과 동시에 보여줌 (바로 복사해서 붙여넣어야 함)
// Import the functions you need from the SDKs you need
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "dfsfsdfsdfsfdfsfsdfsdfsf",
authDomain: "sfsdfdfsfsdfsdfsfsdf",
projectId: "sfsdfsddfsfsdfsdfsffsdf",
storageBucket: "sdfsdfsfsdfsdfsfdfsdfs",
messagingSenderId: "534564566356456655466",
appId: "1:521970812699:web:sdfsdfdfsfsdfsdfsfsdfsdfse",
measurementId: "dsfsdfsfsdfsdfsfdfsdfsf"
};
// Initialize Firebase
export const firebaseApp = initializeApp(firebaseConfig);
const analytics = getAnalytics(firebaseApp);
dfsdfsdfsf 부분에 자신의 API 및 아이디가 나옴 - 이 부분이 중요
#Firebase.jsx 에 붙여넣기 (이하)
import React from "react";
import {
collection,
addDoc,
getDocs,
getFirestore
} from "firebase/firestore/lite";
import { firebaseApp } from "../commons/libraries/firebase.ts";
export default function FirebasePage() {
// create
const onClickSubmit = () => {
const board = collection(getFirestore(firebaseApp), "board");
void addDoc(board, {
writer: "철수",
title: "안녕하세요",
contents: "반갑습니다",
});
};
const onClickFetch = async () => {
// fetch
const board = collection(getFirestore(firebaseApp), "board");
const result = await getDocs(board);
const datas = result.docs.map((el) => el.data());
console.log(datas);
};
return (
<>
<button onClick={onClickSubmit}>등록하기</button>
<button onClick={onClickFetch}>조회하기</button>
</>
);
}
# firestore (firebase noSQL) 붙여넣기 (이하)
import { Outlet } from 'react-router-dom';
import HeaderAside from "./components/HeaderAside";
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import Firebase from './pages/Firebase';
const queryClient = new QueryClient()
function App() {
// console.log(process.env.REACT_APP_YOUTUBE_API_KEY);
return (
<>
<HeaderAside />
<Firebase />
{/* <QueryClientProvider client={queryClient}>
<Outlet />
</QueryClientProvider> */}
</>
);
}
export default App;
'React' 카테고리의 다른 글
20240416 맘대로 해봐라! 3차 프로젝트 FlowNary SNS 시작 (0) | 2024.04.16 |
---|---|
20240414 (0) | 2024.04.14 |
20240412 React Couple Diary - Personal Project ver.1 (0) | 2024.04.12 |
20240412 react-youtube 구현 (0) | 2024.04.12 |
20240411 React-youtube 학습내용 (0) | 2024.04.11 |