¿Me pueden ayudar cuál es mi error aquí? Lo hizo en un video que vi.
El error que obtengo es este;
TypeError: indefinido no es un objeto (evaluando 'media.cancelled')
const [isUploading, setIsUploading] = useState(false); const [isPaused, setIsPaused] = useState(false); const [downloadUrl, setDownloadUrl] = useState(); const [uploadTask, setUploadTask] = useState(); const [uploadTaskSnapshot, setUploadTaskSnapshot] = useState({}); const onTakePhoto = () => { launchCamera({ mediaType: 'photo', saveToPhotos:true }, onMediaSelect()) }; const onSelectImagePress = () => { launchImageLibrary({ mediaType: 'photo', saveToPhotos:true }, onMediaSelect()) }; const onMediaSelect = async media => { if (!media.didCancel) { setIsUploading(true); const ref = storage().ref(media.assets[0].fileName); const task = ref.putFile(media.assets[0].uri); setUploadTask(task); task.on('state_changed', taskSnapshot => { setUploadTaskSnapshot(taskSnapshot); }); task.then(async () => { const downloadURL = await ref.getDownloadURL(); setDownloadUrl(downloadURL); alert(downloadUrl) setIsUploading(false); setUploadTaskSnapshot({}); }) } };Creo que onMediaSelect es una función que toma un parámetro de media y lo está llamando sin proporcionarlo en las devoluciones de llamada onTakePhoto y onSelectImagePress .
¿Sabes cuál es la firma de la función launchCamera ?