无法读取未定义的属性“ oneOfType”

时间:2018-06-28 04:59:16

标签: react-native react-native-camera

我是新来的本地人。我想使用“ react-native-camera”。我创建了一个新项目,正确安装了软件包(我知道,因为我做了三次以确保我没有做错任何事),并且显示了此错误**无法读取未定义的属性'oneOfType'**在此包“ react-native-camera”的index.js中。我找不到任何解决方案。我已经尝试过更改gradle版本,可以使gradle包装器具有所有属性,但是此问题与gradle不相关。这是我的App.js中的代码。我知道代码不会产生此错误,但是我是本机反应的新手,所以也许我缺少了一些东西。 任何建议将不胜感激

 import React, {Component} from 'react';
   import {
   Text,
   View,
  StyleSheet

 } from 'react-native';

 import Camera from 'react-native-camera';

 export default class BarcodeScan extends Component {

  constructor(props) {
    super(props);
    this.state = {
        qrcode: ''
    }
}

 onBarCodeRead = (e) => this.setState({qrcode: e.data});

 render () {
    return (
        <View  style={styles.container}>
            <Camera
                style={styles.preview}
                onBarCodeRead={this.onBarCodeRead}
                ref={cam => this.camera = cam}
                aspect={Camera.constants.Aspect.fill}
                >
                    <Text style={{
                        backgroundColor: 'white'
                    }}>{this.state.qrcode}</Text>
                </Camera>
          </View>
        )
    }

}

  const styles = StyleSheet.create({
  container: {
   flex: 1,
   flexDirection: 'row',
  },
   preview: {
   flex: 1,
   justifyContent: 'flex-end',
   alignItems: 'center'
  }
  });

2 个答案:

答案 0 :(得分:0)

感谢这个人https://github.com/dwicao/react-native-panel/issues/4
 我可以通过替换“ react-native-camera”包的index.js中的以下代码来解决此问题。

替换

  import React, { Component, PropTypes } from 'react';

 import React, { Component } from 'react';
 import PropTypes from 'prop-types';

答案 1 :(得分:0)

如果有人通过搜索标题找到了这个主题(我这样做了),我将加我的经验。有时使用TSX,导入会变得有些奇怪。对我有用的是使用此导入:

.constructor

我还需要对React本身做同样的事情,否则它也不起作用:

const bar = (() => { function Bar(){} const bar = new Bar(); return bar; })(); // now Bar is out of scope // but you can still reference it because you have an instance: const Bar = bar.constructor; console.log(Bar);

到目前为止,这是我要做的仅有的两次导入。