2017-12-27 51 views
0

ネイティブモジュールとJavaScriptモジュールとの間のコールバック機能のサンプルアプリケーションを、ネイティブアプリの反応でビルドしようとしました。コールバックin React Native

しかし、それは、クラスのコールバックがfound.Iは、ネイティブモジュールとJavaScript間の通信用に次のコードを使用しようとしたことcanoot言う: -

MyNativeClass.java

import com.facebook.react.bridge.CallBack; 


    @ReactMethod 
    public void getText(CallBack callback){ 
    callback.invoke('Hi From Java'); 
} 

MyJavaScript.js

export default class App extends Component<{}> { 
    NativeModule.getText(status) => { 
     console.log('Result',status); 
    } 
    render() { 
     return (
     <Text> 
     From Java { this.getText() } 
     </Text> 
     }}); 
    } 

Javaモジュールもパックされて公開されています

import { NativeModules } from 'react-native'; 
    module.exports = NativeModules.MyNativeClass; 

私はきれいにしてビルドしましたが、まだ私はシンボルのインポートcom.facebook.react.bridge.CallBackを見つけることができない同じ問題に直面している。

更新:私は新鮮なプロジェクトでも同じことをしましたが、CallBackライブラリのインポート時に同じエラーが発生しました。

答えて

0

build.gradleを確認してください。

dependencies { 
... 
compile "com.facebook.react:react-native:+" //or a version 
... 
} 

私はあなたが新しいプロジェクトを開始して再試行することをお勧めします。エラーはライブラリが含まれていないようです。

+0

ありがとうございますが、コールバックだけでなく、ブリッジパッケージ内の多くのモジュールでこの問題が発生しています。移動したか、パッケージの名前が変更されました。 –

+0

2つの問題が考えられます: 1)アンドロイドスタジオで開いたプロジェクトは、<あなたのプロジェクト> /アンドロイドフォルダの下にありません。 2)プロジェクト内でbuild.gradleを実行していて、maven {URL "$ rootDir/./node_modules/react-native/android "} – Han

+0

これらがあるかどうかチェックしますか? – Han