如何在react / javascript中处理换行符<br>并将其转换为html [重复]

Posted

技术标签:

【中文标题】如何在react / javascript中处理换行符<br>并将其转换为html [重复]【英文标题】:How to process line-break <br> in react/javascript and convert it to html [duplicate] 【发布时间】:2020-03-17 09:38:27 【问题描述】:

如果我有一个 javascript 变量,例如在反应中:

variable

如果我打印出来,我会得到:

one<br><br>None 

如何更改来自数据库的&lt;br&gt;&lt;br&gt; html 断线并获得结果:

one

None

【问题讨论】:

【参考方案1】:

您可以使用函数 dangerouslySetInnerHTML 来执行此操作。

https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml

<div dangerouslySetInnerHTML=__html: variable />;

然后 HTML 代码将照此呈现。

【讨论】:

【参考方案2】:

我认为当您从数据库接收字符串 时,它是字符串而不是 html 元素,并且反应无法将其显示为 html 元素。您可以使用此react-html-parser 将从数据库接收到的此类 html 模板转换为显示为 html 元素。

import React from 'react';
import ReactHtmlParser,  processNodes, convertNodeToElement, htmlparser2  from 'react-html-parser';

const StringToHtml = () => 
// retrieves variable here
  return (
    return <div> ReactHtmlParser(variable) </div>;
  );

export default StringToHtml;

【讨论】:

【参考方案3】:

默认情况下,React 会转义 HTML 以防止 XSS(跨站点脚本)。如果你真的想渲染 HTML,你可以使用dangerouslySetInnerHTML 属性:

<div dangerouslySetInnerHTML=__html: variable />

或者您可以使用任何解析 html 字符串的节点包。

【讨论】:

以上是关于如何在react / javascript中处理换行符<br>并将其转换为html [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript+React 处理条件运算符?

如何在 Rails / Webpacker / React 应用程序中处理图像?

在 React 和 Material-UI 中,如何让我的 Grid 项目占用 100% 的可用水平空间,而不会换行到下一行?

React--事件处理

React练习 :网页换肤

你如何在React应用程序中进行服务器端处理?