在ReactNative中,我有一个可能会或可能不会传递给类对象的属性。是否有类似Java的方法来检查属性是否为null?
在我的情况下,我有this.props.overrideAccessibilityLabel可能传递或不传递。我只想在传递它时使用它:
render() {
return (
<View
accessibilityLabel={this.props.currMessage.text}
if {...props.myAccessibilityLabel} {
...accessibilityLabel={...props.myAccessibilityLabel}
}
>
<Text1
// ...
>
</Text1>
</View>
);
}
答案 0 :(得分:4)
然后是单线&#34;如果&#34;在这种情况下,声明效果最佳。
<View
accessibilityLabel={this.props.currMessage.text ?
this.props.currMessage.text : this. props.myAccessibilityLabel}
>
<Text1
// ...
>
</Text1>
</View>
答案 1 :(得分: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会导致异常。