JSのReactネイティブソースにネイティブに書かれたモジュール(Java、Android)をインポートしたいと思います。私は、モジュールやパッケージを持っている、いくつかのソースファイルの横にネイティブブリッジモジュールをネイティブのjavacriptにインポートする
:android/app/src/main/java/com/rctcognito/
にandroid/app/libs/dependencies.jar
私は私のモジュールを作成しました:
は、私は私の依存関係がにロードされています。
モジュールは以下のクラス実装されています public class Cognito extends ReactContextBaseJavaModule
をそしてここで、パッケージのクラスです: import com.rctcognito.RCTCognitoPackage;
そして、それを追加:
package com.rctcognito;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RCTCognitoPackage implements ReactPackage {
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new Cognito(reactContext));
return modules;
}
}
私は、その後、新しいパッケージを追加することによって、MainApplication.java
を更新リスト内: new RCTCognitoPackage(),
公式のdocを考えるとリアクト - ネイティブを、私はこのようにそれをロードすることができるはずです。
import { NativeModules } from 'react-native';
module.exports = NativeModules.Cognito;
import Cognito from './Cognito';
しかし、私のアプリは./Cognito
をロードすることができません。私が間違ってやっていることをどう思ってもらえますか? ありがとう!
ありがとうございました!それは完璧に動作します! – Arkon