I have a simple test react-native project running where I want to run some native code. I followed the dev guide and I have a module
and a package
class in my android project and I linked it in MainApplication
file. They look something like this:
Package:
public class ModulePackage implements ReactPackage { @NonNull @Override public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) { List<NativeModule> modules = new ArrayList<>(); modules.add(new ModuleModule(reactContext)); return modules; } @NonNull @Override public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) { return Collections.emptyList(); }}
And the Module:
@ReactModule(name = ModuleModule.NAME)public class ModuleModule extends ReactContextBaseJavaModule { public static final String NAME = "ModuleModule"; @ReactMethod public String getData() { return "AAAAAAAAAAAAAAAAA"; }}
Now I import the module as follows in javascript:
const { ModuleModule} = NativeModules;
And I've put a breakpoint on the line, after breaking and stepping over once so the Module is loaded in I went into the console to check if the function exists so I checked ModuleModule
and it returnedObject {getData: Function, getConstants: Function}
So the function is clearly there, I just never get my expected return value. Anyone ever encountered something like this before?