typescript - expo-image-picker kullanırken hata: TypeError: tanımsız bir nesne değil (değerlendiriliyor '_expoModulesCore.NativeModulesProxy.ExponentImagePicker')


expo-image-picker kullanıyorum ve şu hatayla karşılaşıyorum
Hata: Modül "node_modules\expo-image-picker\build\ImagePicker.js" yükleniyor, bu bir istisna fırlattı: TypeError: tanımsız bir nesne (değerlendiriliyor: '_expoModulesCore.NativeModulesProxy.ExponentImagePicker')

bu benim kodum.

import * as ImagePicker from 'expo-image-picker'

;(async () => {
      let pickerResult = await ImagePicker.launchImageLibraryAsync({
        mediaTypes: ImagePicker.MediaTypeOptions.Images,
        base64: true,
        aspect: [4, 3],
        quality: 0.5,
      })

      if (pickerResult.cancelled === true) {
        return
      }
      let locaUri = pickerResult.uri
      //console.log(pickerResult.base64)
      let image: string = pickerResult.base64!

    })()

Uygulamayı başlattığımda hata alıyorum

Cevap #1

Bu, paketin yüklü olmasına rağmen Expo'nun paketi henüz keşfetmemesinden kaynaklanıyor olabilir. Şimdi node_modules dizinini açın ve terminalinizin yeniden yüklenebileceğini unutmayın. Dosyaya ulaştığınızda,

"node_modules\expo-image-picker\build\ImagePicker.js" kaydedin. Hata konsoldan kaybolursa, çalışacaktır

import * as ImagePicker from 'expo-image-picker';


const openGallary  =async () => {
    // No permissions request is necessary for launching the image library
    let result = await ImagePicker.launchImageLibraryAsync({
      mediaTypes: ImagePicker.MediaTypeOptions.All,
      allowsEditing: true,
      aspect: [4, 3],
      quality: 1,
    });

    console.log(result);

    if (!result.cancelled) {
      setImage(result.uri);
    }
  
}

Bunu ben yaptım ve benim için işe yaradı