JS中对象内的三元运算符

时间:2018-03-20 12:04:18

标签: javascript reactjs

我正在创建一个React应用程序,我有一个代码段,如下所示:

arrow_rl.cur

但是,显然条件语句没有应用于对象内部,因为当import React, { Component } from 'react'; import { RaisedButton } from 'material-ui'; let isZero = false; class Button extends Component { render() { const { value } = this.props; isZero = false; if (value === 0) { isZero = true; } // removed for brevity } } const styles = { otherStyles: { minWidth: isZero ? '120px' : '60px', margin: '5px 5px 5px 0', lineHeight: isZero ? '120px' : '60px', }, }; export default Button; 为0时,我仍然得到value而不是60px。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

三元运算符在评估时应用

在创建类的实例之前。

styles常量移至 {/ 1}}函数,为render提供值。

答案 1 :(得分:1)

您的样式是在渲染之外定义的,因此每次变量为零更改时都不会计算,如果您希望它是动态的,请在渲染中定义它

isZero