为什么我的 React 组件将我的 JSX 呈现为文本而不是 HTML?
Why is my React component rendering my JSX as text rather than HTML?
请原谅我,因为我是 JavaScript 和 React 的完全菜鸟。我正在尝试输出朋友列表。 props.friends 是一个由朋友名字组成的数组。但是,我的代码只是将 <li>
标签输出为页面上的文本
我的代码:
const Friends = (props) => {
return(
<div>
<p>Hello, {props.name}.</p>
<p>Below is a list of your friends: </p>
<ul>
{props.friends.map(x => '<li>' + x + '</li>')}
</ul>
</div>
)
}
如果有人能帮我弄清楚为什么这不是呈现实际列表,而只是将 <li>friend1</li><li>friend2</li><li>friend3</li>
显示为文本,我们将不胜感激。谢谢!
你的
.map(x => '<li>' + x + '</li>')
创建一个 字符串数组 ,而不是 React 元素。如果要渲染元素,需要使用JSX语法。
.map(x => <li>{x}</li>)
请原谅我,因为我是 JavaScript 和 React 的完全菜鸟。我正在尝试输出朋友列表。 props.friends 是一个由朋友名字组成的数组。但是,我的代码只是将 <li>
标签输出为页面上的文本
我的代码:
const Friends = (props) => {
return(
<div>
<p>Hello, {props.name}.</p>
<p>Below is a list of your friends: </p>
<ul>
{props.friends.map(x => '<li>' + x + '</li>')}
</ul>
</div>
)
}
如果有人能帮我弄清楚为什么这不是呈现实际列表,而只是将 <li>friend1</li><li>friend2</li><li>friend3</li>
显示为文本,我们将不胜感激。谢谢!
你的
.map(x => '<li>' + x + '</li>')
创建一个 字符串数组 ,而不是 React 元素。如果要渲染元素,需要使用JSX语法。
.map(x => <li>{x}</li>)