React-Native[10.Firebase]
4427 ワード
Firebase
特長
Googleが作成したサーバレスリースサービス
Serverless
サーバがないのではなく、自分でサーバを作成する必要はありません.
必要なサーバー機能を提供する場所でサービスを利用するのは、とても便利です.
作成と設定
プロジェクトを作成するには、アプリケーション/ファイル・リポジトリ/リアルタイム・データベースを作成する必要があります.
アプリケーションの生成は、開発中のアプリケーションにバインドするために必要な作業です.
画像はファイルに保存され、JSONデータはリアルタイムデータベースに管理されているので、別々に作成する必要があります!
アプリケーションの作成
Firebase->プロジェクトの作成->プロジェクト内のアプリケーションの作成->
「WebアプリケーションへのFirebaseの追加」(Firebase管理Xを選択)->「プロジェクト設定」ページでのSDKの表示
ファイルストレージの作成
左側のメニューからStorage->Storageを作成
リアルタイム・データベースの作成
左側のメニューのRealtime Database->作成->ルールの読み取り/書き込みはすべてtrueです.
Firebaseのインストールとバインド
インストールコード
expo install firebase
firebaseConfig.jsの作成
App.FirebaseConfigはjsが存在するフォルダにあります.jsを生成します.
作成したFirebaseと一緒に使用するファイルの優先パラメータを設定します.firebaseConfig.js
import firebase from "firebase/compat/app";
// 사용할 파이어베이스 서비스 주석을 해제합니다
//import "firebase/compat/auth";
import "firebase/compat/database";
//import "firebase/compat/firestore";
//import "firebase/compat/functions";
import "firebase/compat/storage";
// Initialize Firebase
//파이어베이스 사이트에서 봤던 연결정보를 여기에 가져옵니다
const firebaseConfig = {
apiKey: "~~~~",
authDomain: "~~~~",
databaseURL: "https://sparta-myhoneytip-minbro-default-rtdb.firebaseio.com",
projectId: "sparta-myhoneytip-minbro",
storageBucket: "sparta-myhoneytip-minbro.appspot.com",
messagingSenderId: "~~~~",
appId: "~~~~",
measurementId: "~~~~",
};
//사용 방법입니다.
//파이어베이스 연결에 혹시 오류가 있을 경우를 대비한 코드로 알아두면 됩니다.
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
export const firebase_db = firebase.database();
生成された
expo install firebase
firebaseConfig.js
import firebase from "firebase/compat/app";
// 사용할 파이어베이스 서비스 주석을 해제합니다
//import "firebase/compat/auth";
import "firebase/compat/database";
//import "firebase/compat/firestore";
//import "firebase/compat/functions";
import "firebase/compat/storage";
// Initialize Firebase
//파이어베이스 사이트에서 봤던 연결정보를 여기에 가져옵니다
const firebaseConfig = {
apiKey: "~~~~",
authDomain: "~~~~",
databaseURL: "https://sparta-myhoneytip-minbro-default-rtdb.firebaseio.com",
projectId: "sparta-myhoneytip-minbro",
storageBucket: "sparta-myhoneytip-minbro.appspot.com",
messagingSenderId: "~~~~",
appId: "~~~~",
measurementId: "~~~~",
};
//사용 방법입니다.
//파이어베이스 연결에 혹시 오류가 있을 경우를 대비한 코드로 알아두면 됩니다.
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
export const firebase_db = firebase.database();
Firebaseからのデータのインポート
サンプルコード
MainPage.js
import React, { useState, useEffect } from "react";
import main from "../assets/jordan.jpg";
import {StyleSheet, Text, View, Image, TouchableOpacity, ScrollView} from "react-native";
import data from "../data.json"; // 더이상 사용하지 않고 firebase에서 불러온다!
import Card from "../components/Card";
import Loading from "../components/Loading";
import { StatusBar } from "expo-status-bar";
import * as Location from "expo-location";
import { Alert } from "react-native-web";
import axios from "axios";
import {firebase_db} from "../firebaseConfig"
export default function MainPage({ navigation, route }) {
console.disableYellowBox = true;
const [state, setState] = useState([]);
const [cateState, setCateState] = useState([]);
const [ready, setReady] = useState(true);
const [weather, setWeather] = useState({ temp: 0, condition: "" });
useEffect(() => {
navigation.setOptions({
title: "나만의 꿀팁",
});
firebase_db
.ref("/tip")
.once("value")
.then((snapshot) => {
console.log("파이어베이스에서 데이터 가져왔습니다!!");
let tip = snapshot.val();
setState(tip);
setCateState(tip);
getLocation();
setReady(false);
});
}, []);
.
.
.
使用方法
import {firebase_db} from "../firebaseConfig"
firebase_db
.ref("/tip")
.once("value")
.then((snapshot) => {
console.log("파이어베이스에서 데이터 가져왔습니다!!");
let tip = snapshot.val();
setState(tip);
setCateState(tip);
getLocation();
setReady(false);
});
Reference
この問題について(React-Native[10.Firebase]), 我々は、より多くの情報をここで見つけました https://velog.io/@minbrother/React-Native-10.-Firebase로-데이터-관리하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol