Parece que no puedo entender cómo configurar useState después de consultar Firebase. Necesito que BOX sea igual a "URL pública" para todos excepto para el administrador.
import { auth } from "../firebase"; ... const [BOX, setBox] = useState(''); useEffect(() => { if (auth.currentUser?.email === "admin@yahoo.com") { setBox("https://admin/link"); } else { setBox("https://public/link"); } },[auth]);Los errores son siempre diferentes. A veces devuelve "... enlace vacío", a veces "falló la solicitud de red". A veces muestra los datos correctos, pero se encuentra con uno de los errores cuando actualizo la pantalla.
Aquí está mi archivo de base de fuego
// Import the functions you need from the SDKs you need import * as firebase from "firebase"; import 'firebase/firestore'; // 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 const firebaseConfig = { ... }; // Initialize Firebase let app; if (firebase.apps.length === 0) { app = firebase.initializeApp(firebaseConfig); } else { app = firebase.app() } const auth = firebase.auth(); const dbFirebase = app.firestore(); export {auth, dbFirebase};No puede usar gancho dentro de una declaración if ...
const [box, setBox] = useState(''); useEffect(() => { if (auth.currentUser?.email === "admin@yahoo.com") { setBox("https://admin/link"); } else { setBox("https://public/link"); } },[auth]);Para firebase 9, deberá configurarlo como se muestra a continuación:
import { initializeApp } from 'firebase/app' import { getAuth } from 'firebase/auth' const firebaseConfig = {...} initializeApp(firebaseConfig) export const auth = getAuth()