为什么在 React Native 中 react-native-image-picker 的 showImagePicker 未定义?
Why is react-native-image-picker's showImagePicker undefined in React Native?
目前我通过终端和 Atom 编辑器 运行 我的 React Native 项目。我正在尝试使用 https://github.com/marcshilling/react-native-image-picker 中的 rect-native-image-picker 并按照说明进行安装:npm install react-native-image-picker@latest --save
我的 dependencies
节目:"react-native-image-picker": "^0.22.8"
然后我尝试按照确切的示例进行操作,但是当我按下按钮选择图像时,ImagePicker.showImagePicker(options, (response) => {...})
仍然出现错误:Cannot read property 'showImagePicker' of undefined
所以我 console.log(ImagePicker)
of import ImagePicker from 'react-native-image-picker'
,这正是它在 react-native-image-picker 的示例项目中的实现方式,它记录了:
所以我克隆了示例项目 console.log(ImagePicker)
并且它显示:
我开始相信问题是我没有得到我应该得到的函数,例如 launchCamera
和 launchImageLibrary
。我似乎无法弄清楚为什么。我可能遗漏了什么或做错了什么?
您使用什么版本的 RN 和 iOS?如果您确定已将 npm 包与本机代码 (rnpm link
) 链接,您可以尝试在 <dict>
标签之间添加到 Info.plist
(右键 -> 打开为源代码):
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
我也遇到了同样的问题。所以在文档中,给出了 auto-linking 但它并不是 link 所有的依赖。您需要手动 link 一些依赖项。
请按照以下 link 进行操作,它会对您有所帮助。
For manually linking follow this
我不是专家,但你可以解决这个问题,感谢:
- 本教程展示ImagePickerhttps://dev-yakuza.posstree.com/en/react-native/react-native-image-picker/ & https://github.com/dev-yakuza/react-native-image-picker-example
- (!) 我在 React Native >= 0.60 但 react-native-image-picker 版本是 "react-native-image-picker": "2.3.1"
- 要在 iOS 上使用 react-native-image-picker,请打开 ios/[项目名称]/Info.plist 并按如下方式修改它。
我不是专家,但你可以解决这个问题,感谢:
- 本教程展示ImagePickerhttps://dev-yakuza.posstree.com/en/react-native/react-native-image-picker/ & https://github.com/dev-yakuza/react-native-image-picker-example
- (!) 我在 React Native >= 0.60 但 react-native-image-picker 版本是 "react-native-image-picker": "2.3.1"
- 要在 iOS 上使用 react-native-image-picker,请打开 ios/[项目名称]/Info.plist 并按如下方式修改它。
不要犹豫,删除您的 nodes_modules 和 pod 文件,然后重新启动您的服务器
不要犹豫,删除您的 nodes_modules 和 pod 文件,然后重新启动您的服务器
这样做:
import {launchCamera, launchImageLibrary} from 'react-native-image-picker';
launchCamera(options, response => {
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
alert('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
} else {
alert(response.uri)
}
});
原因是ImagePicker.showImagePicker折旧了
目前我通过终端和 Atom 编辑器 运行 我的 React Native 项目。我正在尝试使用 https://github.com/marcshilling/react-native-image-picker 中的 rect-native-image-picker 并按照说明进行安装:npm install react-native-image-picker@latest --save
我的 dependencies
节目:"react-native-image-picker": "^0.22.8"
然后我尝试按照确切的示例进行操作,但是当我按下按钮选择图像时,ImagePicker.showImagePicker(options, (response) => {...})
仍然出现错误:Cannot read property 'showImagePicker' of undefined
所以我 console.log(ImagePicker)
of import ImagePicker from 'react-native-image-picker'
,这正是它在 react-native-image-picker 的示例项目中的实现方式,它记录了:
所以我克隆了示例项目 console.log(ImagePicker)
并且它显示:
我开始相信问题是我没有得到我应该得到的函数,例如 launchCamera
和 launchImageLibrary
。我似乎无法弄清楚为什么。我可能遗漏了什么或做错了什么?
您使用什么版本的 RN 和 iOS?如果您确定已将 npm 包与本机代码 (rnpm link
) 链接,您可以尝试在 <dict>
标签之间添加到 Info.plist
(右键 -> 打开为源代码):
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
我也遇到了同样的问题。所以在文档中,给出了 auto-linking 但它并不是 link 所有的依赖。您需要手动 link 一些依赖项。 请按照以下 link 进行操作,它会对您有所帮助。 For manually linking follow this
我不是专家,但你可以解决这个问题,感谢:
- 本教程展示ImagePickerhttps://dev-yakuza.posstree.com/en/react-native/react-native-image-picker/ & https://github.com/dev-yakuza/react-native-image-picker-example
- (!) 我在 React Native >= 0.60 但 react-native-image-picker 版本是 "react-native-image-picker": "2.3.1"
- 要在 iOS 上使用 react-native-image-picker,请打开 ios/[项目名称]/Info.plist 并按如下方式修改它。
我不是专家,但你可以解决这个问题,感谢:
- 本教程展示ImagePickerhttps://dev-yakuza.posstree.com/en/react-native/react-native-image-picker/ & https://github.com/dev-yakuza/react-native-image-picker-example
- (!) 我在 React Native >= 0.60 但 react-native-image-picker 版本是 "react-native-image-picker": "2.3.1"
- 要在 iOS 上使用 react-native-image-picker,请打开 ios/[项目名称]/Info.plist 并按如下方式修改它。
不要犹豫,删除您的 nodes_modules 和 pod 文件,然后重新启动您的服务器
不要犹豫,删除您的 nodes_modules 和 pod 文件,然后重新启动您的服务器
这样做:
import {launchCamera, launchImageLibrary} from 'react-native-image-picker';
launchCamera(options, response => {
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
alert('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
} else {
alert(response.uri)
}
});
原因是ImagePicker.showImagePicker折旧了