Мой код:

import ImagePicker from 'react-native-image-picker'; const options = { title: 'Select Avatar', customButtons: [{ name: 'fb', title: 'Choose Photo from Facebook' }], storageOptions: { skipBackup: true, path: 'images', }, }; const [avatarSource, setAvatar] = useState(null); myFunc = async () ={amp}gt; { ImagePicker.showImagePicker(options, (response) ={amp}gt; { console.log('Response = ', response); if (response.didCancel) { console.log('User cancelled image picker'); } else if (response.error) { console.log('ImagePicker Error: ', response.error); } else if (response.customButton) { console.log('User tapped custom button: ', response.customButton); } else { const source = { uri: response.uri }; setAvatar(source); } }); }; 

взамен ():

{amp}lt;Button title="Image Picker" onPress={myFunc}/{amp}gt;

При вызове myFunc () возникает ошибка:

Отклонение необработанного обещания: TypeError: null не является объектом (оценка ‘ImagePicker.showImagePicker’)

Что я пытался сделать, и это не помогло:

  1. Запустите react-native link react-native-image-picker и перестройте после вызова
  2. Запустить react-native link
  3. Добавлено в app.json : (у меня нет папки iod и android, и я добавил эти строки в app.json)
  "android": { "permissions": [ "CAMERA", "WRITE_EXTERNAL_STORAGE" ] } 

и

  "ios": { "infoPlist": { "NSCameraUsageDescription": "This app uses the camera to scan barcodes on event tickets.", "NSPhotoLibraryUsageDescription": "This app would like access to your photo gallery", "NSPhotoLibraryAddUsageDescription": "This app would like to save photos to your photo gallery", "NSMicrophoneUsageDescription": "This app would like to use your microphone (for videos)" } } 

Может ли кто-нибудь помочь?