我试图实现我的第一个反应本机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并且它没有编译。第二个问题是,如果我删除该方法,所有编译,但当我使用此组件时,没有任何内容出现
答案 0 :(得分:3)
我自己也碰到了这个。解决方案如上面的评论中指出if-else-switch:
// Import this
import com.facebook.react.uimanager.annotations.ReactProp;
// Not this!
import com.facebook.react.uimanager.ReactProp;
在不同的软件包中似乎有两个@ReactProp
定义,默认情况下Android Studio选择了错误的定义。
答案 1 :(得分:1)
我使用react-native 0.13。+而不是0.11。+
解决了这个问题