如何在反应对象内使用if else条件

时间:2017-10-18 17:58:22

标签: javascript

任何人都可以告诉我在反应对象中使用if .. else .. condition的替代方法

const background = {
    color: {
      if ( this.props.status == 'broker') {
        background : '#FFFFFF'
      } esle {
        background : 'green'
      }
    }
}

2 个答案:

答案 0 :(得分:1)

你可以使用三元:

const background = {
    color: this.props.status === 'broker' ? '#ffffff' : 'green'
}

如果您想要更多条件,这可能会受到限制和/或难以阅读,因此您也可以使其发挥作用,但您只需要注意调用它的方式/位置:

const background = {
    color: function() {
      let color

      if(this.props.status === 'broker') {
        color = '#ffffff'
      } else {
        color = 'green'
      }

      return color
    }
}

答案 1 :(得分:0)

您不需要全部内联评估。嵌套的三元语句可能会非常难看。你可以创建一个函数并将结果传递给:

function bgColor(status) {
  if (status === 'broker') {
    return { background: '#fff' }
  }

  if (status === 'whatever' {
    // return ...
  }

  // whatever else
}

const background = {
  color: bgColor(this.props.status)
}