reactjs - 无法在 React 中渲染包含“”的变量
问题描述
我正在尝试将变量图标呈现到反应组件中 - 请参见下面的代码
render() {
const elementsRender = this.state.elements.map(elements => {
// Formating variables
const folderBorder = (elements.type === "folder") ? " folder-border" :"";
const icon = "<i className="material-icons">folder </i>"
const text =`<h1>A heading</h1>`
console.log(icon)
const addIcon = (elements.type === "folder") ? icon : "not a folder";
return <li key={elements.index}>
<div className={"infobox-parent"+ folderBorder}>
<div className={elements.type +" "+elements.level}>
{elements.type === "folder" ? icon : "folder" }
<span>{elements.element}</span></div>
<div className={elements.type}>{elements.description}{text}</div>
</div>
</li>;
});
return (
<div id="COMPONENT-ReactFolderStructure">
<h1>REACT Folder Structure</h1>
<i class="material-icons">
folder
</i>
<ul>{elementsRender}</ul>
</div>
);
}
}
当我运行它时,HTML 以文本形式出现,当我查看检查器时,我看到 HTML 被“”包围。我认为 int 是由于 "" 将其转义,但我不知道如何修复它。
解决方案
您需要删除"
并呈现实际上是 JSX (React.Component) 的“HTML”
改变这个:
const text =`<h1>A heading</h1>`
...
const icon = "<i className="material-icons">folder </i>"
至:
const text = <h1>A heading</h1>
...
const icon = <i className="material-icons">folder </i>
推荐阅读
- neo4j - neo4j - declare variables that are available for node creation in FOREACH clause and also for the RETURN clause
- javascript - 将两个对象数组的相同属性合并为一个
- css - How do I change the link of an image using CSS
- laravel - Outlook 中的 SVG 图形问题
- azure - 使用查询字符串从 Azure CDN 清除单个文件缓存
- node.js - Update nested array objects in MongoDB
- visual-studio - Prevent Visual Studio from leaking pdb path in compiled exe
- python - 403 使用 pypodio2 禁止来自 podio API 的响应
- java - Reformat custom date from string
- html - 如何在父div中显示具有相同输入框的新div