Javascript 如何在react对象内使用if-else条件
如果..有人能告诉我一个替代方法吗。。否则。。对象内部的条件Javascript 如何在react对象内使用if-else条件,javascript,Javascript,如果..有人能告诉我一个替代方法吗。。否则。。对象内部的条件 const background = { color: { if ( this.props.status == 'broker') { background : '#FFFFFF' } esle { background : 'green' } } } 您可以使用三元: const background = { color: this.pro
const background = {
color: {
if ( this.props.status == 'broker') {
background : '#FFFFFF'
} esle {
background : 'green'
}
}
}
您可以使用三元:
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
}
}
您不需要对其进行内联评估。嵌套的三元语句可能会变得非常难看。您只需创建一个函数并将结果传递到:
function bgColor(status) {
if (status === 'broker') {
return { background: '#fff' }
}
if (status === 'whatever' {
// return ...
}
// whatever else
}
const background = {
color: bgColor(this.props.status)
}
如果我想使用两个以上的条件,那么?@radjeep nested ternarys?@RajdeepRatan我编辑了我的答案。您可以像Jonas w建议的那样使用嵌套三元数,但如果这些三元数难以读取,您可以将属性设置为函数。@RajdeepRatan嵌套三元数不是特定于react的。我建议在谷歌上查找“JavaScript中的嵌套ternaries”或其他内容并阅读它们。你也可以使用二进制运算符:
-5 | |'/-5