2017-03-07 3 views
1

[1] falseを返しますなぜ私は反応ネイティブアプリのスタイル属性を確認できないのはなぜですか?

if(styles.background=='white') 
console.log("ok") 

console.log(styles.background=='white') --> was false [1] 

、次のように色は、要素の白であるかどうかを確認したいですか?

+3

eフルファイル。 – FakeRainBrigand

+1

'console.log(styles.background)'の返却は何ですか? – Banzay

+0

@Banzayそれは偽だった –

答えて

2

1 - あなたのケースでは、スタイルはStyleSheetオブジェクトです。ここ

var flattenStyle = require('flattenStyle'); 
var backgroundColor = flattenStyle(this.props.style).backgroundColor; 

詳細:

コンポーネントのスタイルを処理するために -

const styles = StyleSheet.create({ 
    container: { 
     flex: 1, 
     justifyContent: 'center', 
     alignItems: 'center', 
     backgroundColor: '#F5FCFF' 
    }, 
    welcome: { 
     fontSize: 20, 
     textAlign: 'center', 
     margin: 10, 
    }, 
    instructions: { 
     textAlign: 'center', 
     color: '#333333', 
     marginBottom: 5, 
    }, 
}); 

var styleObj = StyleSheet.flatten([styles.container]) 

console.warn(styleObj.backgroundColor==='#F5FCFF') //=>true 

2:あなたは、以下のようStyleSheet.flatten目的球を使用する必要が

https://facebook.github.io/react-native/docs/stylesheet.html

そして

https://stackoverflow.com/a/35233409/1979861

3

ちょうど構文を渡すパラメータが正しいことを確認します。
(注:パラメータを囲む角括弧は必要ありません。)

単一のフォームのスタイルシートの場合:

var styleObj = StyleSheet.flatten(styles.container) 

複数形のスタイルシートの場合:

var styleObj = StyleSheet.flatten(styles[1].container) 

次に、あなたがすることができますその属性を検査するためにそれを印刷してください:

console.log(styleObj) 
関連する問題