2015-10-03 25 views
-1

我有一個帶有login.js的React Native項目。在這個類中,我有幾個視圖等。這些視圖使用Stylesheet,這是在類中定義的。現在我試圖將backGround顏色提取/轉換爲一個「容器類」(values.js),我可以獲取顏色(rgba)並將其用在我的login.js類中。由於我已經做到了,顏色不會再顯示任何東西。它是純白色的,它不會採用我定義的顏色,它是某種紅色。將我的背景顏色轉換成另一個JS類

這是我的登錄代碼: login.js

var Values=require('../values/values'); 

... 
<View style={styles.titleContainer}> 
    <Text style={styles.titleText}>{Strings.login}</Text> 
</View> 
... 

var styles = StyleSheet.create({ 
container: { 
    flexDirection: 'column', 
    flex: 1 
}, 
bg: { 
    position: 'absolute', 
    left: 0, 
    top: 0, 
    width: windowSize.width, 
    height: windowSize.height 
}, 
titleContainer: { 
    justifyContent: 'center', 
    alignItems: 'center', 
    flex: 0.15, 
    backgroundColor: Values.Color.COLOR_NAVIGATION_BAR, 
}, 
}) 

這是我有我的 「顏色容器/顏色集」: values.js

module.exports = { 

API: [ 
    { 
     //API 
     API_BASE_URL: "", 
     //LOCAL 
     API_LOCAL_URL: "http://localhost:1986/", 
    }], 

Color: [ 
    { 
     COLOR_NAVIGATION_BAR: 'rgba(163,63,59,1)', 
     ...... 
     ..... 
    }], 

回答

0

我覺得問題與您用作導出對象的API和Color字段的數組一起使用。導出的對象包含兩個字段:API和Color,它們都是對象數組。所以如果你想參考顏色值,這樣的事情將起作用:

Values.Color[0].COLOR_NAVIGATION_BAR 

但可能這不是你真正想要的。最有可能你的定義應該像(請注意,一致性,可能它仍然是最好用的顏色全部大寫和值):

module.exports={ 
    API: { 
     API_BASE_URL: "", 
     ... 
    }, 
    COLOR: { 
     COLOR_NAVIGATION_BAR: 'rgba(163,63,59,1)', 
     ... 
    } 
} 

,你應該導入/稱其爲:

var VALUES=require('../values/values'); 
.... 

backgroundColor: VALUES.COLOR.COLOR_NAVIGATION_BAR, 
... 
+0

萬分感謝!這正是我想要的......並感謝對首都的建議,我將來會這樣做,它看起來是正確的。 – BigPun86