根据布尔值设置样式值

时间:2017-11-03 14:00:52

标签: javascript reactjs react-native

我通过传递一个名为small

的布尔道具来使用组件
MockUtility

在CustomItem中我想做类似

的事情
utility

但我收到错误"找不到变量小"

3 个答案:

答案 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,而在组件外部创建Stylesheetsmall的范围仅限于该组件,因此您无法从组件外部访问small。你需要这样做:

    const small = this.props.small;
    <Text style={[styles.title, {fontSize: small ? 10 : 20} ]}> {title} </Text>
    const styles = StyleSheet.create({
        title:{ 
            fontWeight: 'bold'
        }
    })
相关问题