Enable direct ad-hoc imports
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- firebase, react, react-native, typescript
- Área
- developer-experience, frontend, mobile
Línea de trabajo
Comienza reproduciendo el error de IDBIndex en una nueva aplicación de Expo usando las versiones indicadas de React Native, Reactfire y Firebase; después, inspecciona cómo Reactfire exporta sus proveedores. Se considera terminado cuando los consumidores pueden importar únicamente el componente necesario, como FirebaseAppProvider, sin cargar funcionalidad no relacionada ni provocar el error.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Can't find variable: IDBIndex when setting up on Expo
I used the same hierarchy I had working on the web. I am not using performance or analytics, so I think all of the underlying components should work.
But, I believe that since there isn't a way (that I can tell) to import only specific components, I end up with an error as if I were importing performance package.
import React from 'react'
import { getAuth, connectAuthEmulator } from 'firebase/auth'
import { getFunctions, connectFunctionsEmulator } from "firebase/functions"
import { getStorage, connectStorageEmulator } from "firebase/storage"
import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";
import { FirebaseAppProvider, useFirebaseApp, AuthProvider, StorageProvider, FirestoreProvider } from 'reactfire';
function FirebaseComponents({ children }) {
const app = useFirebaseApp() // a parent component contains a `FirebaseAppProvider`
const auth = getAuth(app)
const functions = getFunctions(app)
const firestoreInstance = getFirestore(app)
const storage = getStorage(app)
return (
<AuthProvider sdk={auth}>
<FirestoreProvider sdk={firestoreInstance}>
<StorageProvider sdk={storage}>
{children}
</StorageProvider>
</FirestoreProvider>
</AuthProvider>
);
}
function AllFirebaseComponents({ children, fire }) {
return (
<FirebaseAppProvider firebaseApp={fire} >
<FirebaseComponents>
{children}
</FirebaseComponents>
</FirebaseAppProvider>
)
}
export default AllFirebaseComponents
Version info
"react": "^17.0.2",
"react-native": "~0.63.4",
"reactfire": "^4.2.0",
"firebase": "^9.0.1",
Test case
TBU, will try to get one of these
Steps to reproduce
Start a new expo app, attempt to use reactfire. Get error mentioned above.
Expected behavior
Be able to import only the components needed, ex:
import FirebaseAppProvider from 'reactfire/FirebaseAppProvider';
Actual behavior
I get the error mentioned above which I think comes from the performance stuff
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.6k
- Forks
- 403
- Merge medio
- 5 d 1 h
- PR fusionados (30 d)
- 10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FirebaseExtended/reactfire
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
FirebaseExtended/reactfire#801 ·
-
v5
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
FirebaseExtended/reactfire#793 ·
-
v5
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
FirebaseExtended/reactfire#790 · 2 comentarios ·
-
v5
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
FirebaseExtended/reactfire#789 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
FirebaseExtended/reactfire#788 ·
Todos los issues de FirebaseExtended/reactfire
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bcgov/bc-wallet-mobile#4761 · 1 comentario ·
-
external-issue to-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100