我正在创建一个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
。有什么想法吗?
答案 0 :(得分:1)
三元运算符在评估时应用 。
在创建类的实例之前。
将styles
常量移至 {/ 1}}函数后,为render
提供值。
答案 1 :(得分:1)
您的样式是在渲染之外定义的,因此每次变量为零更改时都不会计算,如果您希望它是动态的,请在渲染中定义它
isZero