我有绿色,蓝色和红色的按钮主题。我的解决方案是可行的,但看起来很混乱。如果参数不是,我如何像在对象中那样使用它们呢?
const buttonBG = theme === 'green' ? COLORS.green : theme === "blue" ? COLORS.blue : ""
const fontTheme = theme === 'green' ? FONTS.green : theme === "blue" ? FONTS.blue : ""
const styles = StyleSheet.create({
button: {
backgroundColor: buttonBG,
borderRadius: 12,
paddingVertical: 16,
paddingHorizontal: 20,
lineHeight: 24,
font: fontTheme
},
2条答案
按热度按时间0ejtzxu11#
我想您可以在
<ThemedBtn/>
内部选择主题的颜色,也许在组件外部这样做会使<ThemedBtn/>
内部的代码看起来更干净?应用程序组件
主题按钮组件
bmp9r5qi2#
在样式中传递值的一种更简洁的方法如下