做了一些搜索,但找不到任何东西。这在jQuery和Rails上很简单,但不确定在React中是否有正确的方法。我有这个组件从JSON文件抓取它的数据,我想只显示一个链接,如果JSON有内容,否则我想隐藏它。到目前为止,我试过这种方式没有运气:
renderList(projectLinks){
//let self = this;
return projectLinks.map(function(link) {
var showDemo = "";
if(link.urlDemo === ""){
console.log("i'm empty");
showDemo = "displayNone";
}
return <Panel header={link.title} eventKey={link.eventKey} key={link.title}>
<p>{link.description}</p>
<img src={link.image} className="img-thumbnail" alt="project thumbnail"/><br />
<a href={link.urlDemo} className={showDemo}>Demo </a>
<a href={link.urlCode}>Code </a>
</Panel>
});
}
所以,如果json链接是空的,那么:“urlDemo”:“”,我希望隐藏链接。
感谢帮助。
在渲染内部,使用条件运算符。这是一个例子
render(){
return (
<div>
{this.state.check ? <div>Show this if check is true</div> :
<div>Show this if check is false</div>}
<div>
)
}
编辑:一个更具体的例子
render(){
return(
<div>
{link.urlDemo ? <a href={link.urlDemo}>Demo </a> : null}
</div>
)
}
另一种做法:
render(){
return(
<div>
{link.urlDemo && <a href={link.urlDemo}>Demo </a>}
</div>
)
}