我通过传递一个名为small
的布尔道具来使用组件MockUtility
在CustomItem中我想做类似
的事情utility
但我收到错误"找不到变量小"
答案 0 :(得分:1)
我认为你是以错误的方式解决这个问题。这样做的正确方法是创建一个单独的样式,然后以这种方式应用它:
const small = this.props.small;
<Text
style={[styles.title, small && styles.small]}
>
{title}
</Text>
const styles = StyleSheet.create({
small: {
fontSize: 10
}
})
所以现在你应用一个小的,你可以做进一步的配置,从长远来看更容易维护。
答案 1 :(得分:0)
您可以执行以下操作:
const small = this.props.small;
//add conditional statement here
<Text style={[styles.title, { fontSize: small ? 10 : 20 }]}> {title} </Text>
const styles = StyleSheet.create({
title:{
// removed fontSize here
fontWeight: 'bold'
}
答案 2 :(得分:0)
您最有可能在组件中实例化small
,而在组件外部创建Stylesheet
。 small
的范围仅限于该组件,因此您无法从组件外部访问small
。你需要这样做:
const small = this.props.small;
<Text style={[styles.title, {fontSize: small ? 10 : 20} ]}> {title} </Text>
const styles = StyleSheet.create({
title:{
fontWeight: 'bold'
}
})