【发布时间】:2020-10-19 10:18:35
【问题描述】:
我正在尝试为某些统计数据渲染一些条形图,并且我希望它们的颜色取决于它们的值。我尝试使用if 语句和switch,但它似乎不起作用
对于switch,它将使用default 值,而if 将使用第一个检查值。
对不起我的英语????
import React from "react";
import { View, Text, StyleSheet } from "react-native";
const Stats = ({ statName, value }) => {
let color;
if (value == 0) {
color = "";
} else if ((value) => 1 && value < 25) {
color = "red";
} else if (value >= 25 && value < 50) {
color = "orange";
} else if (value >= 50 && value < 90) {
color = "yellow";
} else if (value >= 90) {
color = "green";
}
// switch (value) {
// case value >= 1:
// color = "red";
// break;
// case value >= 25:
// color = "orange";
// break;
// case value >= 50:
// color = "yellow";
// break;
// default:
// color = "";
// }
return (
<View style={styles.container}>
<Text>{statName}</Text>
<Text>{value}</Text>
<View
style={[styles.bar, { width: value * 1.5, backgroundColor: color }]}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flexDirection: "row",
alignItems: "center",
justifyContent: "center",
},
bar: {
height: 20,
},
});
export default Stats;
【问题讨论】:
-
“Stats”组件中“statName”和“value”的取值是多少?
-
将第一个 elseif 条件从 else if ((value) => 1 && value = 1 && value
标签: javascript reactjs react-native if-statement switch-statement