React Native Image Picker:无法读取未定义的属性“showImagePicker”

Jo *_* Ko 5 javascript uiimagepickercontroller reactjs react-native

我完全按照https://github.com/marcshilling/react-native-image-picker中所示的示例进行操作react-native-image-picker,通过终端使用react-native run-iosAtom 编辑器进行编码。

我这样做了npm install react-native-image-picker@latest --save,目前 package.json 中的依赖关系显示:"react-native-image-picker": "^0.22.8",

我单击了一个按钮来触发,imagePicker但出现错误:Cannot read property 'showImagePicker' of undefined

我究竟做错了什么?

这是代码

import ImagePicker from 'react-native-image-picker'
var Platform = require('react-native').Platform

var options = {
  title: 'Select Avatar',
  customButtons: [
    {name: 'fb', title: 'Choose Photo from Facebook'},
  ],
  storageOptions: {
    skipBackup: true,
    path: 'images'
  }
}

export default class chooseImage extends Component {
  constructor() {
    super()

    this.state = {
      avatarSource: "",
    }
  }

  _uploadImage() {
    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 {
        // You can display the image using either data...
        const source = {uri: 'data:image/jpeg;base64,' + response.data, isStatic: true};

        // or a reference to the platform specific asset location
        if (Platform.OS === 'ios') {
          const source = {uri: response.uri.replace('file://', ''), isStatic: true};
        } else {
          const source = {uri: response.uri, isStatic: true};
        }

        this.setState({
          avatarSource: source
        })
      }
    })
  }

  render() {

    return (
      <View style={styles.container}>
          <TouchableHighlight
            onPress={this._uploadImage}
            underlayColor='transparent'
          >
            <Image
              source={this.state.avatarSource} style={styles.uploadAvatar}
            />
          </TouchableHighlight>
      </View>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑

当我 console.log(ImagePicker)

在此输入图像描述

Dav*_*han 0

看来 IImagePicker 没有定义。

你有没有尝试过使用

var ImagePicker = require('react-native-image-picker');
Run Code Online (Sandbox Code Playgroud)

而不是第一行?