React Native之StyleSheet样式表

概述

在React Native中,StyleSheet是实现了类似Web中CSS样式表的功能。最简单的使用如下,先定一个StyleSheet的样式表,然后在View中引用样式。

var styles = StyleSheet.create({ container: { borderRadius: 4,borderWidth: 0.5,borderColor: '#d6d7da',},title: { fontSize: 19,fontWeight: 'bold',activeTitle: { color: 'red',});

view中引用:

<View style={styles.container}>
  <Text style={[styles.title, this.props.isActive && styles.activeTitle]} />
</View>

StyleSheet样式表的优点

采用StyleSheet样式表的优点注意如下:
代码质量角度来分析:

  • 从render渲染方法中移除了styles样式相关代码,这样可以使代码更加容易阅读
  • 通过对不同样式命名,正好也是对render方法中的组件的一种标志
  • 这样的写法做到了业务和样式的分离,为后面分层开发打下了基础

性能角度来分析:
- 通过StyleSheet,我们可以通过标志的样式ID来引用,而不是每次都要创建一个新的Style对象
- 该允许样式通过桥接在原生代码和JavaScript中传递一次,后面全部通过该id进行引用(不过现在该功能还没有实现)

StyleSheet使用

调用方法

create(obj:{[key:string]:any}) static 静态方法 通过给定的对象进行常见一个StyleSheet样式

属性

  1. .hairlineWidth:CallExpression
    该用来定义当前平台最细的宽度。该属性用来设置边框或者两个组件之间的分割线。例如:
{ borderBottomColor: '#bbb',borderBottomWidth: StyleSheet.hairlineWidth }
  1. flatten: CallExpression
    使用异常。
var styles = StyleSheet.create({ 
listItem: { 
flex: 1,fontSize: 16,color: 'white' },selectedListItem: { color: 'green' } }); 
StyleSheet.flatten([styles.listItem,styles.selectedListItem]) 
// returns { flex: 1,fontSize: 16,color: 'green' }

相关文章

导入moment 使用方式 年月日,时分秒 星期几 相对时间 7天后 2小时后 明天 将毫秒转换成年月日
@ 一、前言 为什么介绍redux-actions呢? 第一次见到主要是接手公司原有的项目,发现有之前的大佬在处理...
十大React Hook库 原文地址:https://dev.to/bornfightcompany/top-10-react-hook-libraries-4065 原文...
React生命周期 React的生命周期从广义上分为挂载、渲染、卸载三个阶段,在React的整个生命周期中提供很...
React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用...
React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ....