2017-01-05 22 views
5

我正在使用React Native處理移動應用程序。樣式如何映射到React Native中的數字?

我使用ReactNative.StyleSheet創建了一組小樣式,並在我的組件中使用它們。

現在我目睹了一些奇特的東西。我發現我的樣式被映射到某個數字。理想情況下,當我嘗試打印樣式時,我期待有一個對象存在。

以下是我的CSS: -

const styles = StyleSheet.create({ 
    container: { 
    flex:1, 
    alignItems:'center', 
    width: null, 
    }, 
    logo: { 
    width:110, 
    marginTop:84, 
    resizeMode:'contain' 
    }, 
    mascot:{ 
    width:145, 
    height:150, 
    marginTop:73, 
    resizeMode:'contain' 
    }, 
    button:{ 
    backgroundColor:'#4A90E2', 
    width:300, 
    alignSelf:'center', 
    }, 
    buttonContainer:{ 
    marginTop:70 
    } 
}) 

console.log(style)表明了我以下。我想了解這些數字是什麼?

回答

5

StyleSheet.create的想法是減小的樣式表對象被創建一個的次數。由於對象始終具有相同的值,因此這樣做是有意義的,這是節省一些處理時間的一種非常簡單的方法。您獲得的數字僅僅是對創建的StyleSheet對象的引用。

靜態圖像也會發生類似的情況。如果你console.log的值爲require('./myImage.png'),你也會得到一個數字。同樣,出於同樣的優化原因。

+6

我是唯一一個認爲應該更好地記錄下來的人嗎?我對我的組件進行了propType驗證,這讓我感到困惑,並且浪費了一些時間來嘗試調試這個「問題」。 –

+0

@RyanPfister在這裏。同樣的事情發生在我身上。正在驗證我的PropType作爲一個對象,但是一個數字正在被傳入。在我閱讀本文和其他文章之前,無法弄清楚這一點。不是一個好的開發者體驗。 –

相關問題