如何解决反应中的条件问题

时间:2019-09-19 10:10:13

标签: reactjs

我使用的条件是,如果activeCardId为null,则不返回任何内容,否则它将返回某些内容。对于除0以外的所有值,它都工作正常。当value为0时,它不返回任何内容。

我认为它与0和null有关。

constructor(props) {
  this.state = {
    activeCardId: null 
  }
}

return(
  {this.state.activeCardId && ( // some random output...)

此语句表示如果activecardId不为null,则返回一些随机输出,如果activecardId为null,则不返回任何内容。

3 个答案:

答案 0 :(得分:1)

这是因为您正在使用logical AND (&&)

0表示虚假值,而逻辑AND不会返回任何虚假值,您应该尝试使用此方法

{this.state.activeCardId !==null && ( // some random output...) }

答案 1 :(得分:0)

0是一个伪造的值,所以

this.state.activeCardId

成为错误

答案 2 :(得分:0)

这可以完成工作:

return(
      {this.state.activeCardId!==null && ( // some random output...)

null和0之间存在差异, 0是一个值,0在布尔语句中也是虚假的 而null表示有意缺少任何对象值。

摘自:MDN Null-javascript