Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';错误:`VideoPlayer`没有本机类型`number`的本机属性`VideoPlayerView.scaleY`的属性类型`_Javascript_Java_Android_React Native_Custom Component - Fatal编程技术网

Javascript ';错误:`VideoPlayer`没有本机类型`number`的本机属性`VideoPlayerView.scaleY`的属性类型`

Javascript ';错误:`VideoPlayer`没有本机类型`number`的本机属性`VideoPlayerView.scaleY`的属性类型`,javascript,java,android,react-native,custom-component,Javascript,Java,Android,React Native,Custom Component,VideoPlayerView是为我的特定项目在安卓和IOS中定制的本机组件 下面是代码导出本机模块的一部分,名为VideoPlayerView,由ReactVideoManager.java 公共类ReactVideoManager扩展了SimpleViewManager{ 公共静态最终字符串REACT\u CLASS=“VideoPlayerView”; 私有上下文mReactContext; @凌驾 公共字符串getName(){ 返回一个类; } @凌驾 受保护的MeasureChang

VideoPlayerView
是为我的特定项目在安卓和IOS中定制的本机组件

下面是代码导出本机模块的一部分,名为
VideoPlayerView
,由
ReactVideoManager.java

公共类ReactVideoManager扩展了SimpleViewManager{
公共静态最终字符串REACT\u CLASS=“VideoPlayerView”;
私有上下文mReactContext;
@凌驾
公共字符串getName(){
返回一个类;
}
@凌驾
受保护的MeasureChangedVideoView createViewInstance(MeasureReactContext reactContext){
mReactContext=reactContext;
返回新的MeasureChangedVideoView(reactContext);
}
@ReactProp(name=“url”)
公共void setUrl(MeasureChangedVideoView视图,@Nullable字符串url){
Uri=Uri.parse(url);
view.setVideoURI(uri);
view.setMediaController(新的MediaController(mReactContext));
view.setOnPreparedListener(新的MediaPlayer.OnPreparedListener(){
@凌驾
已准备好公开作废(MediaPlayer mp){
mp.start();
}
});
}
}
以下是为模块找到的错误日志:

Error: `VideoPlayer` has no propType for native prop `VideoPlayerView.scaleY` of native type `number`
此本机视图对应的js组件是VideoPlayer.js:

var React=require('React-native');
var{requirenActiveComponent}=反应;
类VideoPlayer扩展了React.Component{
render(){
返回;
}
}
VideoPlayer.propTypes={
url:React.PropTypes.string
};
var VideoPlayerView=requirenActiveComponent('VideoPlayerView',VideoPlayer);
module.exports=视频播放器;
相同的模块用于在不同的项目B中工作。发现的唯一区别是项目B中存在react.gradle文件

绝对不知道react.gradle文件是在哪里生成的。我还尝试重新启动packager,再次清理项目大楼

项目中使用的渐变依赖项是

compile "com.facebook.react:react-native:0.14.+"

我们应该使用最新版本,文档中指定的方式应该可以正常工作

因此,事实证明,我使用的是React版本0.13+(在package.json中),而使用@Reactprop注释添加属性的方法是在gradle 0.14依赖项中引入的,这种方法在旧版本的React native(0.13)中不太适用


如果由于某种原因,您碰巧在0.13或pre上工作,则必须遵循中规定的手动混合道具的方法。

相应的文档也如中所述进行了更改