Así que hice un selector de avatar y ahora recibo este error si selecciono una imagen.
También debería mostrar la imagen en el avatar, pero en su lugar me está dando el error.
¿Cómo puedo resolver esto y administrarlo para mostrar la imagen en el icono de Avatar?
Mi código:
async function handleFileInputChange(e) { const files = e.target.files; const file = files[0]; const storage = firebase.storage(); const usersImageRef = storage .ref() .child(`users/${user.uid}/profilepicture.jpg`); const snap = await usersImageRef.put(file); const donwloadURL = await snap.ref.getDownloadURL(); setDownloadURL(donwloadURL); await firebase.auth().updateProfile({ photoURL: donwloadURL }); } <input accept="image/*" className={classes.input} id="contained-button-file" multiple type="file" onChange={handleFileInputChange} /> <label> <IconButton> <Avatar src="../assets/ana.png" style={{ margin: "10px", width: "60px", height: "60px", }} /> </IconButton> </label>El error :
Esto es lo que parece :
El método updateProfile existe en el objeto User y no en la instancia de autenticación de Firebase. Intenta refactorizar la función de esta manera:
const user = firebase.auth().currentUser // <-- .currentUser if (user) { await user.updateProfile({ photoURL: donwloadURL }); } else { console.log("No user logged in!") }