本机stylesheet.create函数返回映射的数字而不是样式规则

时间:2017-08-14 13:47:25

标签: reactjs react-native stylesheet

我在react组件的底部声明了一个简单的样式表。

const styles = StyleSheet.create({
start:{
 flex:1
},
text:{
 color: "red",
 fontSize: 24,
 flex: 1
},
separator:{
 height: 2,
 backgroundColor: "white"
}
});

当我尝试引用任何这些样式时,我会返回一个数字而不是样式规则。

export default class ShowGallery extends Component{
  render(){
     return(
       <View>
         <Text style={styles.text}>Test </Text>
       </View>
    )
 }
}

这里的styles.text正在返回193?顺便说一句,我使用的是本机版本37.0

2 个答案:

答案 0 :(得分:1)

这实际上是StyleSheet的性能增强 将样式从JS端转移到本机端可能非常昂贵,方法是使用StyleSheet.create提前在桥上发送样式,然后缓存&#39;由本机方面。

然后将各个数字用作JS方和本机方之间的参考,以了解要使用的样式。

答案 1 :(得分:1)

如果您使用StyleSheet.create(),这是正常行为。如果您需要访问样式对象,可以使用StyleSheet.flatten(styles.text)。链接到documentation