react-native - React 0.18 导致模块错误

标签 react-native react-native-camera

更新到 React Native 0.18 后尝试使模块正常工作时,出现以下错误:

com.lwansbrough.RCTCamera.RCTCameraViewManager cannot be cast to com.facebook.react.uimanager.ViewGroupmanager

什么原因导致此类错误,如何解决?

这是 RCTCameraViewManager 的代码:

package com.lwansbrough.RCTCamera;

import android.support.annotation.Nullable;
import com.facebook.react.uimanager.*;

public class RCTCameraViewManager extends SimpleViewManager<RCTCameraView> {
    private static final String REACT_CLASS = "RCTCameraView";

    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @Override
    public RCTCameraView createViewInstance(ThemedReactContext context) {
        return new RCTCameraView(context);
    }

    @ReactProp(name = "aspect")
    public void setAspect(RCTCameraView view, int aspect) {
        view.setAspect(aspect);
    }

    @ReactProp(name = "captureMode")
    public void setCaptureMode(RCTCameraView view, int captureMode) {
        // TODO - implement video mode
    }

    @ReactProp(name = "captureTarget")
    public void setCaptureTarget(RCTCameraView view, int captureTarget) {
        // No reason to handle this props value here since it's passed again to the RCTCameraModule capture method
    }

    @ReactProp(name = "type")
    public void setType(RCTCameraView view, int type) {
        view.setCameraType(type);
    }

    @ReactProp(name = "torchMode")
    public void setTorchMode(RCTCameraView view, int torchMode) {
        view.setTorchMode(torchMode);
    }

    @ReactProp(name = "flashMode")
    public void setFlashMode(RCTCameraView view, int flashMode) {
        view.setFlashMode(flashMode);
    }

    @ReactProp(name = "orientation")
    public void setOrientation(RCTCameraView view, int orientation) {
        view.setOrientation(orientation);
    }

    @ReactProp(name = "captureAudio")
    public void setCaptureAudio(RCTCameraView view, boolean captureAudio) {
        // TODO - implement video mode
    }
}

最佳答案

我也遇到了这个错误,我的解决方案是更改

public class RCTCameraViewManager extends SimpleViewManager<RCTCameraView>

public class RCTCameraViewManager extends ViewGroupManager<RCTCameraView>

关于react-native - React 0.18 导致模块错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040265/

相关文章:

javascript - saveToCameraRoll 不是函数

react-native - 使用React Native进行条形码扫描

css - 将 native 相机与条形码扫描仪掩码的透明 View react

javascript - 在 React Native App 的 WebView 中包含外部 JavaScript 文件

javascript - 从另一个屏幕导航后如何重新加载页面

ios - iPhone 相机在 react-native 0.55.4 中不起作用?

react-native - 如何使用expo React Native相机拍照?

react-native - 我所有的 react-native 项目都显示错误 TypeError : cb. apply is not a function

react-native - 错误正则表达式无效 : Metro Bundler process exited with code 1

android - 正在获取 "java.lang.UnsatisfiedLinkError: couldn' t 找到 DSO 以加载 : libhermes. 所以“错误