bbwfi / RehaVision

GeoCaching App für den Fitnesstag
2 stars 0 forks source link

Einbinden der Firebase #14

Open jpietzsch opened 6 months ago

jpietzsch commented 6 months ago

Die Firebase Database soll ins Projekt eingebunden werden, damit Daten abgerufen und gespeichert werden können.

PhilippRath commented 6 months ago

Firebase in React nutzen mittels hock und Context

https://medium.com/swlh/using-firebase-with-react-context-afed094f7927

PhilippRath commented 6 months ago

Fehlermeldung, dass keine asynchrone Speichermöglichkeit eingerichtet ist.

Hinzufügen von "@react-native-async-storage/async-storage": "^1.23.1",

und spezielle Initialisierung von auth

` import { getAuth, initializeAuth, getReactNativePersistence } from 'firebase/auth';

export const auth = initializeAuth(app, { persistence: getReactNativePersistence(ReactNativeAsyncStorage) }); `

ein Fehler in der Typisierung muss aktuell noch angepasst werden:

.tsconfig { "compilerOptions": { "paths": { "@firebase/auth": ["./node_modules/@firebase/auth/dist/index.rn.d.ts"] } }, "extends": "expo/tsconfig.base" }

PhilippRath commented 6 months ago

Falls " ERROR FirebaseError: Firebase: Error (auth/already-initialized)., js engine: hermes" im Log erscheint, Abfrage einrichten, ob schon eine Firebase App eingerichtet wurde.

https://github.com/firebase/firebase-js-sdk/discussions/4510

` let app, auth;

if (!getApps().length) { try { app = initializeApp(firebaseConfig); auth = initializeAuth(app, { persistence: getReactNativePersistence(AsyncStorage), }); } catch (error) { console.log("Error initializing app: " + error); } } else { app = getApp(); auth = getAuth(app); } `