HarmonyOS 鸿蒙Next 【RNOH】react-native-qrcode-svg和react-native-svg 问题

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 【RNOH】react-native-qrcode-svg和react-native-svg 问题

【RNOH】react-native-qrcode-svg和react-native-svg 问题

2 回复

这是因为 qrcode去调svg.todataurl(只是一个工具转换方法)时存在时序问题,如果todataurl执行时qrcode没有正常拿到网络图片资源,就会失败,这边测试加一个延时就可以正常使用了,麻烦您这边验证一下,谢谢

import QRCode from 'react-native-qrcode-svg';
import { Alert } from 'react-native';

const QRCodeSVGDemo = () => {
  return
  <
  QRCode
  getRef = {
    (
    ref
    )
    =>
    {
    setTimeout
    (
    (
    )
    =>
    {
    ref
    ?.
    toDataURL
    (
    (
    data
    )
    =>
    {
    if(data) {
      // (完全卸载清除数据)第一次可以转化成功
      Alert.alert('转化base64成功')
    }
    else
    {
    // 之后都转化失败
    Alert
    .
    alert
    (
    '转化base64失败'
    )
  }
}
)
}
,
200
);
}
}
size = { 200 }
value = { 'https://xxcfdown.xmitic.com:8090/xmxt_true.html?type=0&id=KH4466&channelCode=QRcodeDownload' }
/>
}

export default QRCodeSVGDemo

针对HarmonyOS 鸿蒙Next中【RNOH】react-native-qrcode-svg和react-native-svg的问题,作为IT专家,以下是一些可能的原因及解决方案:

  1. 兼容性问题

    • 鸿蒙系统对SVG的支持可能与Android存在差异,导致部分SVG特性无法正确渲染。
    • 尝试更新react-native-qrcode-svg和react-native-svg到最新版本,以获取更好的兼容性。
  2. 屏幕适配问题

    • 不同设备的屏幕分辨率和比例可能导致SVG显示不全。
    • 使用密度无关像素(dp)进行布局,确保SVG能够自适应不同的屏幕密度。
  3. 性能问题

    • 复杂的SVG图形或动画可能导致渲染性能下降。
    • 优化SVG图形,减少不必要的复杂元素或动画效果。
  4. 代码问题

    • 检查加载和渲染SVG的代码,确保逻辑正确。
    • 使用DevEco Studio的调试功能,查看SVG加载和渲染过程中的错误信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部