考虑以下React代码:
subTopicOptions = curSubTopics.map((topic) => {
return (
<option value={topic.id}>{topic.name}</option>
)
});
通过rest API获取topic.name
输出Environment & Forest
的值以显示。
如何在选择框中显示Environment & Forest
?
考虑以下React代码:
subTopicOptions = curSubTopics.map((topic) => {
return (
<option value={topic.id}>{topic.name}</option>
)
});
通过rest API获取topic.name
输出Environment & Forest
的值以显示。
如何在选择框中显示Environment & Forest
?
您可以使用浏览器的原生解析器,如顶部答案所述,将JavaScript中的&解码回&。
使用DOMParser api,您可以执行以下操作:
const strToDecode = 'Environment & Forest';
const parser = new DOMParser();
const decodedString = parser.parseFromString(`<!doctype html><body>${strToDecode}`, 'text/html').body.textContent;
console.log(decodedString);
DOMParser
创建一个 HTMLDocument,通过将要解码的字符串附加到 '<!doctype html><body>'
的末尾。然后我们可以在新创建的 HTMLDocument 的 body 的 textContent
中访问我们字符串的解码值。<a href="#" className="btn-text">Learn more →</a>
。**→** - Faizan Mubasher
- jojomangosubTopicOptions = curSubTopics.map((topic) => {
return (
<option value={topic.id} dangerouslySetInnerHTML={{__html: topic.name }} />
)
});
您需要注意,使用innerHTML可能会使您面临跨站脚本攻击(XSS),因此请明智地使用它。
const getDecodedString = (str) => {
const txt = document.createElement('textarea');
txt.innerHTML = str;
return txt.value;
};
DOMParser
的方法的 代码沙盒。 - Kyle Richardson