有興趣實施直接原生至javascript調用反應原生。但沒有找到任何指導。是否有任何有關在react-native中實現JavaScriptModule的指南?
請幫助一些創建和註冊原生javascript模塊的反應本地的例子。
已經想通了,從官方文檔native modules android的代碼中有一個名爲createJSModules方法,它返回JavaScriptModule類的列表。
class AnExampleReactPackage implements ReactPackage {
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
...
}
Javadoc文檔com.facebook.react.bridge.JavaScriptModule說:
/**
* Interface denoting that a class is the interface to a module with the same name in JS. Calling
* functions on this interface will result in corresponding methods in JS being called.
* ...
*/
@DoNotStrip
public interface JavaScriptModule {
}
我能夠創建界面,通過它的類createJSModules,但不知道如何適當註冊來自js代碼的javascript模塊。
如果您嘗試從React對象中導入它,BatchedBridge未定義。 – Xiv
偉大的解決方案〜只需在'MyReactActivity'中丟失一些代碼。請在其中添加此代碼。 '@Override保護無效onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); getReactInstanceManager()。addReactInstanceEventListener(this); }' – JohnWatsonDev
關於如何在iOS上做到這一點的任何想法?在文檔和頭文件中都沒有提到JSModules,我一直在尋找。我不相信這是一個單一平臺的功能。 –