Javascript 带有React变量的HTML元素不显示ASCII
我在JS变量中接收并设置了一个自定义标题。但输出显示的是ASCII码而不是符号。下面是渲染函数的一个简单示例:Javascript 带有React变量的HTML元素不显示ASCII,javascript,html,reactjs,ascii,Javascript,Html,Reactjs,Ascii,我在JS变量中接收并设置了一个自定义标题。但输出显示的是ASCII码而不是符号。下面是渲染函数的一个简单示例: render() { var title = "My Title™" return <div>{title}</div>; } render(){ var title=“我的头衔™;” 返回{title}; } 输出是 我的标题™ 而不是 我的头衔™ 为什么会发生这种情况?您正在尝试从字符串插入html,即
render() {
var title = "My Title™"
return <div>{title}</div>;
}
render(){
var title=“我的头衔™;”
返回{title};
}
输出是
我的标题™代码>
而不是
我的头衔™
为什么会发生这种情况?您正在尝试从字符串插入html,即使它不是标记
所以你有两个简单的解决方案来解决这个问题
首先,可以将此元素包装在标记中,然后插入:
var title = ["My Title", <span>™</span>]
为了完整起见,@Tom Fenech在回答中展示了另外两种优雅的解决方案
完整工作代码:
var-Example=React.createClass({
render:function(){
var listTitle=[“我的标题”™;]
var dangerousTitle=“我的其他头衔™;”;
返回
{listTitle}
;
}
});
ReactDOM.render(
,
document.getElementById('容器')
);代码>
您正在尝试从字符串插入html,即使它不是标记
所以你有两个简单的解决方案来解决这个问题
首先,可以将此元素包装在标记中,然后插入:
var title = ["My Title", <span>™</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