如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误?
Posted
技术标签:
【中文标题】如何在本机反应中修复“TypeError:未定义不是对象(评估\'_reactNativeCamera.default.constants\')”错误?【英文标题】:How to fix "TypeError: undefined is not an object (evaluating '_reactNativeCamera.default.constants')" error in react native?如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误? 【发布时间】:2019-05-04 12:46:57 【问题描述】:我正在尝试在我的项目中使用“React-native-camera”库。我实际上已经这样做了 50 多次,每次在我的 mac 和 Linux 系统上一切都很好。
但现在突然之间,它不再在我的 Linux 系统上工作,并不断产生这个错误(虽然在 mac 上工作!)。
我已经检查了所有配置步骤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>
);
;
【问题讨论】:
您找到解决方案了吗?我也有同样的问题... 还没有。我想我会用旧的好的 RNCamera 代替。 任何解决方案 @seijn import RNCamera from 'react-native-camera';然后使用 RNCamera (这里有三个问题:
首先,导入应该是这样的:
import RNCamera as Camera from 'react-native-camera';
第二,constants
的首字母必须大写:Constants
第三,Aspect.fill
和CaptureTarget.disk
都不再是Constants
的一部分。所以你应该删除以下两行:
aspect=Camera.constants.Aspect.fill
captureTarget=Camera.constants.CaptureTarget.disk
您可以在https://react-native-community.github.io/react-native-camera/docshttps://react-native-community.github.io/react-native-camera/docs的官方文档中查看这些常量的更新替代方案
【讨论】:
【参考方案2】:我找到了这个链接,可能对你有帮助(它对我有用): Issue #1288 react-native-camera
你应该像这样导入:
import RNCamera from 'react-native-camera';
不是这样的
import Camera from 'react-native-camera';
【讨论】:
我按照你的建议改变了,得到 ReferenceError : Can't find variable : Camera @Rickard 你是如何解决这个问题的? 只要更改Camera的每一个提及并开始使用RNCamera,它是同一个Object。以上是关于如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 pod install 错误 glog 太旧或缺少在 Windows 10 中反应原生 ios