作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是我的示例代码......
<ul>
{this.state.showAllUser == false
? someArray.slice(0, 3).map(function(user, index) {
return (
<li key={index}> {user.name}<li>
)
: someArray.map(function(user, index) {
return (
<li key={index}> {user.name}<li>
)
}
</ul>
如果 this.state.showAllUser 为 false,则仅显示数组中的三个,如果为 true,则显示全部。
我的问题是如何使这段代码更干净,我可以创建一个函数或变量并在引用函数中使用它吗?
最佳答案
您可以使用 Array 方法,如下所示:
<ul>
{someArray.filter(function(el, index) {
if (!this.state.showAllUser) {
// Print the first 3 elements
return (index < 3)
} else {
// Print all
return true
}
})
.map(function(user, index) {
return (<li key={index}> {user.name}</li>)
})
}
</ul>
通过这种方式,您可以非常清楚地控制哪些元素将显示,哪些不显示。
还有更多你只需要编写一次虚拟 DOM 部分。
关于javascript - 如何将html代码作为变量并使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015724/
我是一名优秀的程序员,十分优秀!