我尝试为我在 Expo Android 上运行的 React Native 应用程序实现签名,但出现错误 这是错误: 错误不变违规:无法调用 JavaScript 模块方法 WebViewMessageHandler11.onMessage()。模块尚未注册为可调用。无桥模式:假。注册的可调用 JavaScript 模块 (n = 12):Systrace、JSTimers、HeapCapture、SamplingProfiler、RCTLog、RCTDeviceEventEmitter、RCTNativeAppEventEmitter、GlobalPerformanceLogger、HMRClient、AppRegistry、RCTEventEmitter、RNCWebViewMessagingModule。 导致该错误的常见原因是应用程序入口文件路径不正确。当 JS 包损坏或加载 React Native 时出现早期初始化错误时,也可能会发生这种情况。,js 引擎:hermes
这是我的代码:
import SignatureScreen from "react-native-signature-canvas";
import { useRef } from "react";
const Sign = ({ text, onOK }) => {
const ref = useRef();
// Called after ref.current.readSignature() reads a non-empty base64 string
const handleOK = (signature) => {
console.log(signature);
onOK(signature); // Callback from Component props
};
// Called after ref.current.readSignature() reads an empty string
const handleEmpty = () => {
console.log("Empty");
};
// Called after ref.current.clearSignature()
const handleClear = () => {
console.log("clear success!");
};
// Called after end of stroke
const handleEnd = () => {
ref.current.readSignature();
};
// Called after ref.current.getData()
const handleData = (data) => {
console.log(data);
};
return (
<SignatureScreen
ref={ref}
onEnd={handleEnd}
onOK={handleOK}
onEmpty={handleEmpty}
onClear={handleClear}
onGetData={handleData}
autoClear={true}
descriptionText={text}
/>
);
};
export default Sign;
我尝试过这个库,但它对我不起作用
因为
react-native-signature-canvas
中继react-native-webview
,您应该将其添加到您的expo依赖项https://docs.expo.dev/versions/latest/sdk/webview/