如果json文件中有内容,则有条件地显示链接?

问题描述 投票:0回答:1

做了一些搜索,但找不到任何东西。这在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”:“”,我希望隐藏链接。

感谢帮助。

javascript reactjs
1个回答
1
投票

在渲染内部,使用条件运算符。这是一个例子

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>
   )
} 
© www.soinside.com 2019 - 2024. All rights reserved.