React Native与Expo Android React-native-signature-canvas问题

问题描述 投票:0回答:1

我尝试为我在 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 expo signature mobile-development
1个回答
0
投票

因为

react-native-signature-canvas
中继
react-native-webview 
,您应该将其添加到您的expo依赖项https://docs.expo.dev/versions/latest/sdk/webview/

© www.soinside.com 2019 - 2024. All rights reserved.