StyleSheet
StyleSheet 是一種抽象化,類似於 CSS StyleSheets。
程式碼品質提示
- 將樣式從 render 函數中移開,可以讓程式碼更容易理解。
- 為樣式命名是為 render 函數中的底層元件添加意義,並鼓勵重複使用的好方法。
- 在大多數 IDE 中,使用
StyleSheet.create()
將提供靜態類型檢查和建議,以幫助您編寫有效的樣式。
參考
方法
compose()
static compose(style1: Object, style2: Object): Object | Object[];
組合兩種樣式,使 style2
將覆蓋 style1
中的任何樣式。如果任一樣式為 falsy,則返回另一個樣式,而無需分配陣列,從而節省分配並保持 PureComponent 檢查的參考相等性。
create()
static create(styles: Object extends Record<string, ViewStyle | ImageStyle | TextStyle>): Object;
用於建立樣式的恆等函數。在 StyleSheet.create()
內部建立樣式的主要實際優點是對原生樣式屬性進行靜態類型檢查。
flatten()
static flatten(style: Array<Object extends Record<string, ViewStyle | ImageStyle | TextStyle>>): Object;
將樣式物件陣列扁平化為一個聚合樣式物件。
setStyleAttributePreprocessor()
警告:實驗性功能。 破壞性變更可能會經常發生,並且不會可靠地發布。整個東西可能會被刪除,誰知道呢?使用風險自負。
static setStyleAttributePreprocessor(
property: string,
process: (propValue: any) => any,
);
設定一個函數,用於預先處理樣式屬性值。這在內部用於處理顏色和變換值。除非您非常清楚自己在做什麼並且已用盡其他選項,否則不應使用它。
屬性
absoluteFill
一個非常常見的模式是建立具有絕對位置和零定位(position: 'absolute', left: 0, right: 0, top: 0, bottom: 0
)的覆蓋層,因此 absoluteFill
可以方便地使用並減少這些重複樣式的重複。如果您願意,可以使用 absoluteFill 在 StyleSheet 中建立自訂條目,例如
absoluteFillObject
有時您可能想要 absoluteFill
,但需要進行一些調整 - absoluteFillObject
可用於在 StyleSheet
中建立自訂條目,例如
hairlineWidth
這被定義為平台上細線的寬度。它可以用作邊框的粗細或兩個元素之間的分割線。範例
此常數將始終是像素的整數(因此由此定義的線條看起來清晰),並將嘗試匹配底層平台上細線的標準寬度。但是,您不應依賴它作為恆定大小,因為在不同的平台和螢幕密度上,其值可能會以不同的方式計算。
如果您的模擬器縮小了,則具有髮絲寬度的線條可能不可見。