Reactjs:如何将 HTML 放入列表项的 primaryText 中?
Reactjs: How to put HTML into primaryText of a list item?
我想在 ListItem 中有一个跨度,如下所示:
<ListItem
primaryText={"<span class='inner'>Some important info</span>" + item.title}
/>
渲染时,我没有得到 HTML 跨度元素,而是文本 <span class='inner'>Some important info</span>Title of the list item
。如何使 HTML 呈现为 HTML?
去掉span
周围的""
,因为当你使用"
时,它会被转换成string
,不会被当成html
标签。
这样写:
primaryText={<div>
<span className='inner'>Some important info</span>
{item.title}
</div>}
注意: class
是保留关键字,所以要应用 css
类 使用 className.
编辑:忽略我,只是看到你需要它专门用于 ListItem
如果你需要在一个元素中渲染 HTML,你可以使用 dangerouslySetInnerHTML
属性(但它有一些风险,顾名思义):
function createMarkup() {
return {__html: 'First · Second'};
}
function MyComponent() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
文档在这里:
https://facebook.github.io/react/docs/dom-elements.html#dangerouslysetinnerhtml
根据给定的信息,您应该将 span 移到 ListItem 组件中并在那里处理它,而不是传入 props。
<ListItem
primaryText={ 'Some important info' }
title={ item.title }
/>
//List Item Component
import React from 'react'
const ListItem = ( props ) => {
return (
<li>
<span className='inner'>{ props.primaryText }</span>{ ` ${props.title}` }
</li>
)
}
export default ListItem
我想在 ListItem 中有一个跨度,如下所示:
<ListItem
primaryText={"<span class='inner'>Some important info</span>" + item.title}
/>
渲染时,我没有得到 HTML 跨度元素,而是文本 <span class='inner'>Some important info</span>Title of the list item
。如何使 HTML 呈现为 HTML?
去掉span
周围的""
,因为当你使用"
时,它会被转换成string
,不会被当成html
标签。
这样写:
primaryText={<div>
<span className='inner'>Some important info</span>
{item.title}
</div>}
注意: class
是保留关键字,所以要应用 css
类 使用 className.
编辑:忽略我,只是看到你需要它专门用于 ListItem
如果你需要在一个元素中渲染 HTML,你可以使用 dangerouslySetInnerHTML
属性(但它有一些风险,顾名思义):
function createMarkup() {
return {__html: 'First · Second'};
}
function MyComponent() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
文档在这里: https://facebook.github.io/react/docs/dom-elements.html#dangerouslysetinnerhtml
根据给定的信息,您应该将 span 移到 ListItem 组件中并在那里处理它,而不是传入 props。
<ListItem
primaryText={ 'Some important info' }
title={ item.title }
/>
//List Item Component
import React from 'react'
const ListItem = ( props ) => {
return (
<li>
<span className='inner'>{ props.primaryText }</span>{ ` ${props.title}` }
</li>
)
}
export default ListItem