我在另一个组件中渲染一个组件,它看起来像这样:
render() {
return (
<MyComponent
value={this.state.measurement.Value}
unit="kg"
/>
);
}
我想要做的是在值达到条件时更改测量单位。例如,如果value > 1000
,则单位应为tons
而不是kg
。
我知道不能在那里添加if语句,我试图这样做,但它不起作用。
render() {
return (
<MyComponent
value={this.state.measurement.Value}
unit="kg"
(value > 1000){
unit="tons"
}
/>
);
}
你有什么想法吗?
答案 0 :(得分:4)
试试这个:
render() {
return (
<MyComponent
value={this.state.measurement.Value}
unit={this.state.measurement.Value > 1000 ? "tons" : "kg"}
/>
);
}
答案 1 :(得分:3)
您可以使用三元表达式。
unit={ this.state.measurement.Value>1000 ? 'tons' : 'kg' }
答案 2 :(得分:2)
就个人而言,我喜欢这种方法。
render() {
const value = this.state.measurement.Value
return (
<MyComponent
value={value}
unit={value > 1000 ? "tons" : "kg"}
/>
);
}
答案 3 :(得分:2)
您可以使用三元条件表达式:
render() {
const Value = this.state.measurement.Value;
const unit = Value > 1000 ? "tons" : "kg"
return (
<MyComponent
value={Value}
unit={unit}
/>
);
}
答案 4 :(得分:2)
您可以在返回时添加unit
变量:
render() {
const value = this.state.measurement.Value;
const unit = value > 1000 ? 'tons' : 'kg';
return (
<MyComponent
value={value}
unit={unit}
/>
);
}
答案 5 :(得分:2)
使用以下代码:
render() {
let measureVal = (this.state.measurement.Value < 1000) ? 'kg' : 'tons';
return (
<MyComponent
value={this.state.measurement.Value}
unit={measureVal}
/>
);
}
答案 6 :(得分:1)
应该是这样的
render() {
return (
<MyComponent
value={this.state.measurement.Value}
unit= {this.state.measurement.Value > 1000 ? "tons" : "kg" }
/>
);
}