jhc*_*hnc 3 javascript reactjs webpack babeljs
我想在 Javascript 数组上使用 join() 方法,但我想使用 HTML 标签来 join() 。
我想做类似的事情:
class Page extends React.Component {
render() {
<p>
{this.props.the_form['candidate_ids'].map((val,idx) => {
return this.getCandidateName(val);
}).join('<br/>')}
</p>
}
}
Run Code Online (Sandbox Code Playgroud)
它转义了标签并且不渲染新行。
我正在使用 React、Webpack 和 Babel。
我必须添加这一点,因为dangerouslySetInnerHTML加入长字符串并不是真正的反应方式,而且有点误导。另外,您缺少key映射项目上的
//import Fragment
import { Fragment, Component } from "react"
class Page extends Component {
const ids = this.props.the_form['candidate_ids'];
render() {
<p>
{ids.map((val, idx) => {
const name = this.getCandidateName(val);
return (
<Fragment key={`${name}${idx}`}>
{name}
{idx < ids.length - 1 && <br />}
</Fragment>
);
})}
</p>
}
}
Run Code Online (Sandbox Code Playgroud)
(更新以删除尾随<br/>)。
这是一个可能的替代版本,没有<br/>:
class Page extends Component {
const ids = this.props.the_form['candidate_ids'];
render() {
<p>
{ids.map((val, idx) => {
const name = this.getCandidateName(val);
return (
<span key={`${name}${idx}`} style={{display: 'block'}}>
{name}
</span>
);
})}
</p>
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7750 次 |
| 最近记录: |