2017-12-27 21 views
0

Ich habe versucht, eine Beispiel-App für Callback-Funktionalität zwischen nativen Modul und JavaScript-Modul in Native App reagieren.CallBack in React Native

Aber es sagt der Klasse Callback canoot sein found.I den folgenden Code für die Kommunikation zwischen nativen Modul und Javascript zu verwenden versucht: -

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> 
     }}); 
    } 

Das Java-Modul ist ebenfalls gepackt und wird freigelegt

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

Ich versuchte sauber und gebaut als auch, aber ich bin immer noch das gleiche Problem kann nicht finden Symbol importieren com.facebook.react.bridge.CallBack.

Update: Ich habe das gleiche auf einem neuen Projekt als auch gleichen Fehler beim Importieren CallBack-Bibliothek.

Antwort

0

Überprüfen Sie Ihre Build.gradle. Es sollte eine Zeile sein:

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

Ich schlage vor, Sie beginnen mit einem neuen Projekt, um es erneut zu versuchen. Der Fehler scheint, dass die Bibliothek nicht enthalten ist.

+0

Dank aber gleichen Fehler nicht nur CallBack, aber viele Module innerhalb Bridge-Paket haben dieses Problem.Ist es bewegt oder Paket umbenannt wird jede Hilfe geschätzt werden. –

+0

Nur denken, es könnte 2 Probleme sein: 1) Entweder das Projekt in Android Studio geöffnet ist nicht unter /android Ordner 2) build.gradle innerhalb des Projekts, enthält nicht maven {url "$ rootDir /. ./node_modules/react-native/android "} – Han

+0

würden Sie überprüfen, ob diese da sind? – Han