2016-12-20 4 views
2

を変更していない場合、完全なエラーメッセージ:はネイティブ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開始を実行すると、これを試してみました - すべてのノードモジュールをリセットし、再インストールします。

ご協力いただきありがとうございます。

答えて

1

代わりの

requireNativeComponent('RCTImageView', ...) 

あなたは

requireNativeComponent('BambuserPlayer', ...) 
をしたいです
関連する問題