-1

我正在尝试实现我的第一个反应原生 UI 组件,我按照 Facebook 教程进行操作,应该很容易,但我遇到了一些奇怪的问题

public class CameraViewManager extends SimpleViewManager<CameraPreview> {

    public static final String REACT_CLASS = "RCTCameraView";

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

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

    @ReactProp(name = "test")
    public void setTest(CameraPreview view, @Nullable String test){
        Log.i("TESTWD", test);
    }

}

这是我正在使用的 ViewManager,对我来说它似乎是正确的。第一个问题是 android studio 没有找到 @ReactProp 并且它没有编译。第二个问题是,如果我删除该方法,一切都会编译,但是当我使用这个组件时,什么都不会出现

4

2 回答 2

5

我自己也遇到了这个。解决方案就像上面评论中指出的if-else-switch 一样:

// Import this
import com.facebook.react.uimanager.annotations.ReactProp;

// Not this!
import com.facebook.react.uimanager.ReactProp;

在不同的包中似乎有两种@ReactProp定义,Android Studio 默认选择了错误的一种。

于 2017-02-11T02:39:55.890 回答
1

我使用 react-native 0.13.+ 而不是 0.11.+ 解决了这个问题

于 2015-11-21T10:56:51.073 回答