0

我正在尝试在使用expo开发的应用程序中包含指向带有以 & 开头的键/值对的外部 url 的链接,但是当我在Expo Go客户端上运行代码时出现错误:

TypeError: undefined is not an object (评估 'this.entityTrie[0]')

我正在使用:

  • 世博会诉 43.0.2
  • expo-cli v. 4.12.11
  • Expo Go v. 2.22.3
  • react-native-render-html v.6.3.1

我在 Windows 10 Pro 上运行 expo-cli,并在 2 台不同的设备上测试了该捆绑包:一台配备 Android 9 的 Redmi Note 7 和一台配备 Android 10 的 Redmi 9C。

最令人不安的是,如果我使用 expo 生成 .apk 并将其安装在它可以工作的设备上。

代码很简单:

import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, useWindowDimensions, View } from 'react-native';
import RenderHtml from 'react-native-render-html';

const source = {
  html: `<a
  href="http://www.fundacioninfosalud.org/verDoc.aspx?id=1023&tipo=2"
  style="text-align:center;">
    A test link!
</a>`
};

export default function App() {
  const { width } = useWindowDimensions();
  return (
    <View style={styles.container}>
      <Text>Open up App.js to start working on your app!</Text>
      <StatusBar style="auto" />
      <RenderHtml
        contentWidth={width}
        source={source}
      />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

我试图用 %26 替换 & ,但它不起作用。

我已经在这个git 存储库上传了代码。

有人会知道我该如何解决吗?

谢谢

4

1 回答 1

0

作为朱尔斯·萨姆。评论说我使用的是有点旧版本的 Node,按照他的建议我更新了库并且它已经工作了。

初始版本:

  • 节点:14.2.0
  • npm:6.14.4
  • 世博会-cli:4.12.11

最终版本:

  • 节点:16.13.2
  • npm:8.1.2
  • 世博会-cli:5.0.3

我按照以下步骤操作:

  1. 使用 nvm-windows 安装新的节点版本
  2. 删除 package-lock.json
  3. 删除节点模块文件夹
  4. 全局安装最新版本的 expo-cli
  5. 运行 npm 安装
于 2022-01-18T10:15:31.483 回答