を変更していない場合、完全なエラーメッセージ:はネイティブpropTypeにはpropTypeを持っていない - あなたはこの自分を支える
「 『BambuserPlayerは、』ネイティブString型のネイティブ小道具 『RCTImageView.loadingIndicator.src』の一切propTypeを持っていません
あなたはこれを変更していない場合は、あなたの自己を支えるこれは通常、あなたのネイティブコードとJavaScriptコードは、同期が取れていないことを意味している。両方の問題が消える作るべき更新。 」
を私が作るしようとしていますReact-nativeからAndroidのビューへのブリッジ。私は文書hereからの指示に従おうとしましたが、それは私にエラーを与え続けます。
public class BambuserPlayerManager extends SimpleViewManager<BambuserPlayer> {
public static final String REACT_CLASS = "BambuserPlayer";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
protected BambuserPlayer createViewInstance(ThemedReactContext reactContext) {
return new BambuserPlayer(reactContext);
}
@ReactProp(name = "src")
public void setResourceURI(BambuserPlayer view, @Nullable String resourceURI) {
view.setResourceURI(resourceURI);
}
}
MainApplication.java:
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new BambuserBroadcasterPackage()
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
}
public class BambuserPlayer extends View {
private String resourceURI;
private String applicationID;
private SurfaceViewWithAutoAR mSurfaceViewWithAutoAr;
private BroadcastPlayer.Observer mObserver;
private BroadcastPlayer mBroadcastPlayer;
public BambuserPlayer(Context context) {
super(context);
this.resourceURI = "sdfsdf8";
this.applicationID = "sdffsdsdfsdfA";
mSurfaceViewWithAutoAr = new SurfaceViewWithAutoAR(context);
mObserver = new BroadcastPlayer.Observer() {
@Override
public void onStateChange(PlayerState playerState) {
Log.i("Broadcast Observer", "playerstate has changed and is now " + playerState);
}
@Override
public void onBroadcastLoaded(boolean b, int i, int i1) {
Log.i("Broadcast Observer", "Video is now loaded. Live is " + b);
}
};
mBroadcastPlayer = new BroadcastPlayer(context, resourceURI, applicationID, mSurfaceViewWithAutoAr, mObserver);
}
public void setResourceURI(String resourceURI) {
this.resourceURI = resourceURI;
}
}
BambuserPlayerManager.java BambuserPlayer.java
'use strict';
import { PropTypes } from 'react';
import { requireNativeComponent, View } from 'react-native';
var iface = {
name: 'BambuserPlayer',
propTypes: {
resourceUri: PropTypes.string,
...View.propTypes // include the default view properties
},
};
module.exports = requireNativeComponent('RCTImageView', iface);
:私のBambuserPlayer.jsを要求しようとすると、エラーが発生します
パッケージ。 JSON:私は小道具「RCTImageView.loadingIndicator.src」を変更していない
{
"name": "Sidecourtnative",
"version": "6.9.0",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"firebase": "^3.6.1",
"lodash": "^4.17.2",
"react": "15.3.2",
"react-native": "0.37.0"
},
"jest": {
"preset": "jest-react-native"
},
"devDependencies": {
"babel-jest": "17.0.2",
"babel-preset-react-native": "1.9.0",
"flow-bin": "^0.35.0",
"jest": "17.0.2",
"jest-react-native": "17.0.2",
"react-test-renderer": "15.3.2",
"whatwg-fetch": "1.1.0"
}
}
: は私が反応し、ネイティブのために0.39を更新しようとしたが、それは助けにはならないと私はNPM開始を実行すると、これを試してみました - すべてのノードモジュールをリセットし、再インストールします。
ご協力いただきありがとうございます。