当前位置: 首页 > 知识库问答 >
问题:

反应本机:将HTML字符串传递给组件时显示为文本

强化
2023-03-14

我有反应原生组件(例如:myComponent),它有下面的代码显示文本从this.props.text.这个文本道具被定义为字符串myComponent。

<Text size='large'
            style={styles.text}
            textId={this.props.text}
            values={this.props.values}>
          {this.props.text}
 </Text>

当我通过发送一个动作给出如下文本时,它将文本显示为字符串。但我希望组件显示为蓝色突出显示的链接

yield put(myComponent.displayAction(displayType,"<Text suppressHighlighting={false} style={{backgroundColor: 'white', textDecorationLine: 'underline', color: 'blue'}} onPress={() => null}>Link</Text>}")

如果我直接在myComponent中硬编码字符串,它将显示可以执行onclick的链接。

<Text size='large'
        style={styles.text}
        textId={this.props.text}
        values={this.props.values}>
      //{this.props.text} => removed this and hardcoded the string below
      "<Text suppressHighlighting={false} style={{backgroundColor: 'white', textDecorationLine: 'underline', color: 'blue'}} onPress={() => null}>Link</Text>}"

有什么帮助可以将此显示为链接吗?

共有1个答案

翁钧
2023-03-14

不能将包含JSX的字符串用作元素。在您的硬编码示例中,编译器将其视为一个元素,并忽略引号。

文本属性更改为元素而不是字符串,然后将该元素传递给显示操作,应该可以工作。

或者,您可以让textprop包含文本而不是元素,并按如下方式显示:

<Text suppressHighlighting={false} style={{backgroundColor: 'white', textDecorationLine: 'underline', color: 'blue'}} onPress={() => null}>{this.props.text}</Text>
 类似资料:
  • 或者问题应该是,如何将字符串转换为JSX? 在任何情况下,我都试图在我的反应原生应用程序上做一个性能黑客,要求我从字符串变量渲染反应原生组件。 例如, 现在在我的渲染函数中,我想像这样渲染它: 现在,如果我试图运行应用程序,它会给出一个错误,因为我试图在组件中呈现文本。如果我在渲染之前尝试将项目包装在文本中,它只会在屏幕上以纯文本的形式渲染项目,并显示所有

  • 问题内容: 我正在尝试通过使用JSON格式的字符串初始化Javascript变量来加载数据表。如果我声明: 那么我的表将正确加载该行。 我尝试在脚本之前初始化Java字符串,然后将该对象传递给Javascript变量,如下所示: 我的表无法识别这一点,并且在尝试以这种方式传递行时无法加载该行。如何正确地将Java字符串传递给Javascript,以便我的表能够加载数据? 问题答案: 尝试使用引号。

  • 有没有一个标准的方法来做这件事?我说得太离谱了吗? 谢谢你的帮助!

  • 我正在使用以下技术进行一个投资组合项目:Java、Spring、Hibernate、JavaScript、Thymeleaf和高图。当我试图用JavaScript渲染数据可视化图表时,字符串数组模型在JS中没有得到正确的定义。 这个类生成有问题的数组. transtToJsonArray()被注释掉,因为我正在测试java数组和json数组。 下面是使用Thymeleaf变量渲染的graph.ht

  • 问题内容: 我想将字符串数组作为参数传递给函数。请看下面的代码 代替: 但是如果我这样做,我会收到一条错误消息,指出将其转换为。我想知道是否可以传递这样的值,或者正确的方法是什么? 问题答案: 怎么样:

  • 问题内容: 我正在将ajax发布到webmethod上,我可以在客户端(通过Firebug)看到请求的状态为200,但未达到我的webmethod中的停止点(webmethod的第一行)。json参数一切正常,但是通过反序列化json的方式,我不得不将其更改为字符串。 js: aspx: 问题答案: 您在jQuery JSON帖子中缺少内容类型: 请参阅本文。当我遇到类似的问题时,它对我很有帮助: