Tìm kiếm trang web

typescript - lỗi khi sử dụng expo-image-picker: TypeError: undefined không phải là một đối tượng (đang đánh giá '_expoModulesCore.NativeModulesProxy.ExponentImagePicker')


tôi đang sử dụng expo-image-picker và tôi đang gặp phải lỗi này
Lỗi: Yêu cầu module "node_modules\expo-image-picker\build\ImagePicker.js" đã gây ra ngoại lệ: TypeError: undefined không phải là một đối tượng (đang đánh giá '_expoModulesCore.NativeModulesProxy.ExponentImagePicker')

đây là mã của tôi.

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!

    })()

Tôi nhận được lỗi khi khởi động ứng dụng

Câu trả lời #1

Điều này có thể do Expo chưa phát hiện gói mặc dù đã cài đặt. Bây giờ mở thư mục trong node_modules của bạn và lưu ý rằng có thể terminal của bạn cần tải lại. Khi bạn đến tệp,

"node_modules\expo-image-picker\build\ImagePicker.js" lưu lại. nếu lỗi biến mất khỏi console, nó sẽ hoạt động

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);
    }
  
}

Đây là những gì tôi đã làm và nó hiệu quả với tôi