2017-12-27 155 views
0

我試圖在原生模塊和JavaScript模塊之間爲原生應用程序構建一個回調函數示例應用程序。React Native中的回調

但它說的類回調canoot是found.I嘗試使用下面的代碼本機模塊和JavaScript之間的通信: -

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

只是想可能有兩個問題: 1)在android studio中打開的項目不在<您的項目>/android文件夾下2)build.gradle在項目中,不包含maven {url「$ rootDir /。 ./node_modules/react-native/android「} – Han

+0

你會檢查這些是否存在嗎? – Han