android - 如何修复 React Native 中的 "TypeError: undefined is not an object (evaluating ' _reactNativeCamera.default.constants')”错误?

标签 android react-native react-native-camera

我正在尝试在我的项目中使用“React-native-camera”库。我实际上已经这样做了 50 多次,每次在我的 Mac 和 Linux 系统上都一切顺利。

但现在突然间它不再适用于我的 Linux 系统并不断生成此错误(尽管适用于 mac!)。

enter image description here

我检查了所有配置步骤 here 我尝试将 missingDimensionStrategy 'react-native-camera', 'general' 添加到 app build.gradle 我试过将 maven {url "https://jitpack.io "} 和 maven {url "https://maven.google.com "} 添加到项目 build.gradle 我已经尝试从 .ideas 目录中删除 madules.xml 并在清除和不清除缓存的情况下重新启动 android studio。

还是没有 这是我让相机模块运行的示例代码:

class CameraApp extends Component {
  constructor(props) {
    super(props);

    this.state = {
      path: null,
      uri: '',
      imageName: ''
    };
  }

  takePicture() {
    this.camera.capture()
      .then((data) => {
        console.log(data);  
      })
      .catch(err => console.error(err));
}

  renderCamera() {
    return (
      <View>
        <Camera
          ref={(cam) => {
            this.camera = cam;
          }}
          style={styles.preview}
          aspect={Camera.constants.Aspect.fill}
          captureTarget={Camera.constants.CaptureTarget.disk}
        >
          <TouchableHighlight
            style={styles.capture}
            onPress={this.takePicture.bind(this)}
            underlayColor="rgba(255, 255, 255, 0.5)"
          >
            <View />
          </TouchableHighlight>
        </Camera>
      </View>
    );
  }


  render() {
    return (
      <View style={styles.container}>
        {this.renderCamera()}
      </View>
    );
  }
};

最佳答案

这里存在三个问题:

首先,导入应该是这样的:

import {RNCamera as Camera}  from 'react-native-camera';

其次constants首字母必须大写:Constants

第三Aspect.fillCaptureTarget.disk都不再是Constants的一部分。所以你应该删除下面两行:

  aspect={Camera.constants.Aspect.fill}
  captureTarget={Camera.constants.CaptureTarget.disk}

您可以在 https://react-native-community.github.io/react-native-camera/docs 的官方文档中检查这些常量的更新替代品。

关于android - 如何修复 React Native 中的 "TypeError: undefined is not an object (evaluating ' _reactNativeCamera.default.constants')”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55982666/

相关文章:

javascript - 如何让条码扫描仪从数据库中检查条码编号?

react-native-image-picker vs expo ImagePicker

ios - 使用 React Native 相机拍摄方形照片

java - 该应用程序只能管理推送通知

iOS ActionSheet 的 Android 等效

security - React Native + JWT 还需要刷新 token 吗?

android - 如何正确清除TextInput?

android - 如何删除Android textview上的第一个字符缩进

java - Android HttpURLConnection POST 不工作

android - 您必须为 TextView 提供资源 ID