此问题在此处已有答案:
Insert HTML with React Variable Statements (JSX) [duplicate](10个答案)
1年前关闭。
我正在创建一个react应用程序,并从一个对象获取数据。
我怎样才能使字符串在对象的身体阶段是正常工作。
物体是这样的
const info = [{
"title": "More Information",
"body": "<p><b>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>",
}]
我的react代码是这样的
const Page = ({ info }) => {
return (
<div>
<div>{info.title}</div>
<div>{info.body}</div>
</div>
)
}
1条答案
按热度按时间n9vozmp41#
默认情况下,React DOM在渲染之前会转义JSX中嵌入的任何值。因此,它可以确保您永远不会注入任何未显式写入应用程序的内容。所有内容在渲染之前都会转换为字符串。这有助于防止XSS(跨站脚本)攻击。Source
将
body
更新为JSX(如果可能)info
是一个数组,它的第一个元素是一个具有title
和body
的对象,所以你不能直接访问这个对象。如果不能将
body
改为JSX,可以使用dangerouslySetInnerHTML
。一个二个一个一个