Javascript 带有React变量的HTML元素不显示ASCII

Javascript 带有React变量的HTML元素不显示ASCII,javascript,html,reactjs,ascii,Javascript,Html,Reactjs,Ascii,我在JS变量中接收并设置了一个自定义标题。但输出显示的是ASCII码而不是符号。下面是渲染函数的一个简单示例: render() { var title = "My Title&#8482;" return <div>{title}</div>; } render(){ var title=“我的头衔™;” 返回{title}; } 输出是 我的标题™ 而不是 我的头衔™ 为什么会发生这种情况?您正在尝试从字符串插入html,即

我在JS变量中接收并设置了一个自定义标题。但输出显示的是ASCII码而不是符号。下面是渲染函数的一个简单示例:

render() {
   var title = "My Title&#8482;"
   return <div>{title}</div>;
}
render(){
var title=“我的头衔™;”
返回{title};
}
输出是

我的标题

而不是

我的头衔™


为什么会发生这种情况?

您正在尝试从字符串插入html,即使它不是标记

所以你有两个简单的解决方案来解决这个问题

首先,可以将此元素包装在标记中,然后插入:

var title = ["My Title", <span>&#8482</span>]
为了完整起见,@Tom Fenech在回答中展示了另外两种优雅的解决方案

完整工作代码:

var-Example=React.createClass({
render:function(){
var listTitle=[“我的标题”™;]
var dangerousTitle=“我的其他头衔™;”;
返回
{listTitle}
; } }); ReactDOM.render( , document.getElementById('容器') );
您正在尝试从字符串插入html,即使它不是标记

所以你有两个简单的解决方案来解决这个问题

首先,可以将此元素包装在标记中,然后插入:

var title = ["My Title", <span>&#8482</span>]
为了完整起见,@Tom Fenech在回答中展示了另外两种优雅的解决方案

完整工作代码:

var-Example=React.createClass({
render:function(){
var listTitle=[“我的标题”™;]
var dangerousTitle=“我的其他头衔™;”;
返回
{listTitle}
; } }); ReactDOM.render( , document.getElementById('容器') );
如果要包含™ 符号,然后直接使用字符本身,或使用
\u2122
(unicode代码点)引用它

只要您的文件是以正确的编码保存和提供的,那么这两种方法都不会有问题

函数testComponent(){
返回React.DOM.div(null,
React.DOM.h3(null,“我的标题™"),
React.DOM.h3(null,“我的标题\u2122”);
}
ReactDOM.render(React.createElement(testComponent)),
document.getElementById(“根”);

如果要包含™ 符号,然后直接使用字符本身,或使用
\u2122
(unicode代码点)引用它

只要您的文件是以正确的编码保存和提供的,那么这两种方法都不会有问题

函数testComponent(){
返回React.DOM.div(null,
React.DOM.h3(null,“我的标题™"),
React.DOM.h3(null,“我的标题\u2122”);
}
ReactDOM.render(React.createElement(testComponent)),
document.getElementById(“根”);


Thx用于添加此内容。我认为这将是我的最佳选择,因为标题可以有多个ascii符号。因此,这将帮助我避免使用DangeriousLysetinerHtmlHtmlHx来添加此内容。我认为这将是我的最佳选择,因为标题可以有多个ascii符号。因此,这将帮助我避免使用DangeriousLysetinerHtml