【发布时间】:2021-04-09 17:22:21
【问题描述】:
使用 React Image Picker 我遇到了这个错误: TypeError: undefined is not an object (评估 '_reactNativeImagePicker.default.showImagePicker')
当我点击图像选择器功能时会发生这种情况
手机截图:
这是我的代码:
import React from 'react';
import { View, Text,Button } from 'react-native';
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',
},
};
function Picker(){
const openPicker =()=>{
ImagePicker.showImagePicker(options, (response) => {
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 };
// You can also display the image using data:
// const source = { uri: 'data:image/jpeg;base64,' + response.data };
console.log(source)
}
});
}
return(
<View>
<Button onPress={openPicker} title="Open image picker"></Button>
</View>
)
}
export default Picker;
【问题讨论】:
-
您使用的
react-native-image-picker的确切版本是什么?你可以在package.json文件下查看。 -
如果您使用的是
react-native-image-picker 3.x.x版本,showImagePicker将不再起作用。请参考here for the migration guide。您需要使用launchImageLibrary提到的here -
我正在使用图像选择器版本 3.1.2 。我实际上是在遵循一个教程,他们在其中下载了新版本,然后他们使用了对他们有用的旧文档。版本只是launchImageLibrary(options?, callback)? 2.x.x 版本之前没有其他东西需要整个代码。
-
我不知道它在教程中是如何工作的。但根据docs。您需要更改您的import statement 并将launchimagelibrary 与options 和response 一起使用
-
我用启动图像库改变了它,但现在我收到了这个错误。 TypeError: undefined is not a function (靠近'...(0, _reactNativeImagePicker.default)...')。你能改变我更新的所需代码吗?
标签: react-native react-native-image-picker