fis*_*ish 5 android react-native
当我单击本机UI中的按钮(可能来自片段容器)时,我想从JavaScript调用一个方法,让我们像'jsMethod'或其他一样调用它.但是,我以前从未处理过这种情况.
我正在查找网站上Facebook文档的一些相关代码,到目前为止找不到问题的关键.有人给我一些建议吗?
要从Java调用JavaScript方法,请执行以下操作:
ReactInstanceManager reactInstanceManager = reactNativeHost.getReactInstanceManager();
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
CatalystInstance catalystInstance = reactContext.getCatalystInstance();
WritableNativeArray params = new WritableNativeArray();
params.pushString("Message to show using nameOfJsMethod");
catalystInstance.callFunction("JavaScriptVisibleToJava", "nameOfJsMethod", params);
Run Code Online (Sandbox Code Playgroud)
必须定义要调用的JavaScript方法并使其对Java可见:
import BatchedBridge from "react-native/Libraries/BatchedBridge/BatchedBridge";
export class ExposedToJava {
nameOfJsMethod(message) {
alert(message);
}
}
const exposedToJava = new ExposedToJava();
BatchedBridge.registerCallableModule("JavaScriptVisibleToJava", exposedToJava);
Run Code Online (Sandbox Code Playgroud)
Github上的这个示例包括一个工作演示.
编辑我被告知这种方法没有正式记录.如果您的方案允许,请考虑采用@ufxmeng的建议(在对OP的评论中).
| 归档时间: |
|
| 查看次数: |
2224 次 |
| 最近记录: |