如何从android webview发送数据到React Js?我知道从React js发送数据到Android是非常直接的。然而,我需要在React Js中读取数据,我通过webview传递。例如,我发送一个事件说:webview.loadUrl("javascript:sayHello('Hello From Android')")
在React js中,我希望能够从sayHello函数中获取数据。我在jsx:
<script type="text/javascript">
{`
${function sayHello(data) {
alert(data);
}}
`}
</script>
我已经解决了这个问题。由于时间不够,我没有机会发表答案。其实很简单。我所要做的就是添加一个eventListener,并在public文件夹下从index.html分派事件。然后从我需要的任何类中收听相同的事件。下面是一个例子:
<script>
function mobileGoBack() {
window.addEventListener("onNativeGoBack", () => {});
window.dispatchEvent(new CustomEvent("onNativeGoBack"));
}
</script>
然后在某个类中听相同的事件
const Example = () => {
// you can use useEffect or not up to you!
useEffect(() => {
window.addEventListener("onNativeGoBack", () => {
// Do your stuff
});
return () => {
window.removeEventListener("onNativeGoBack", () => {});
};
}, []);
}