2017-07-29 12 views
2

ReactNativeには、クラスオブジェクトに渡される場合とされない場合があるプロパティがあります。プロパティがnullかどうかを確認するJavaのような方法はありますか?ReactNativeにプロパティが存在するかどうかをチェックする方法は?

私の場合、私はthis.props.overrideAccessibilityLabelを持っていますが、これは渡されるかもしれません。

+0

コードはありますか?これは有用な具体的な例ですか?それ以外の場合、これは[javascriptでオブジェクトのあるかどうかを確認する]の複製です(https://stackoverflow.com/questions/135448/how-do-i -JavaScriptのプロパティにオブジェクトがある場合はチェックします) – Skam

答えて

3

ReactNativeでは、プロパティが存在しない場合はfalseに評価されます。 (空の文字列もfalseに評価されます)。したがって、プロパティが存在するかどうかを確認するために "if"を使用するのが正しい方法です。

function myFunc(x) { 
    if (x) { 
     return true; 
    } else { 
     return false; 
    } 
} 
var a1 = {} 
a1.a = "abc" 
a1.b = "" 
var ra=myFunc(a1.a) 
var rb=myFunc(a1.b) 
var rc=myFunc(a1.b) 
console.log("ra=" + ra + "; rb=" + rb + "; rc=" + rc) 

出力は次のようになります。

ra=true; rb=false; rc=false 

だから、プロパティが異なりVARから処理されます。空のプロパティをチェックするとfalseになり、未定義のvarを参照すると例外が発生します。

4

しかし、この場合、1ライナーの「if」文が最適です。

 <View 
     accessibilityLabel={this.props.currMessage.text ? 
this.props.currMessage.text : this. props.myAccessibilityLabel} 
     > 
     <Text1 
      // ... 
     > 
     </Text1> 
     </View> 
関連する問題