2017-03-22 53 views
1

我很新的反應原生,我有一個非常基本的問題。 我不幸不知道如何在React-Native中使用布爾值。 我試圖找到一個谷歌解決方案,但顯然我的問題是如此簡單,沒有人問過它。React-Native如何使用布爾值

在我的代碼中,我必須聲明布爾值嗎?

如何更改該值?

什麼是比較它的正確方法? (我想如果(myBoolean ===真),但我不能完全確定。)

我SRY打擾你所有與愚蠢的問題,

問候,

邁克爾

回答

2

與React Native相比,這更像是一個JS問題,因爲React Native使用符合標準的JavaScript作爲編程語言。所以,通過你所有的問題:

在我的代碼中,我必須聲明布爾?

布爾值是JS中的6個數據類型基元之一,還有null,undefined,number,string和Symbol(僅限ES6)。所以你可以用任何一種方式創建一個布爾值。例如:

var myBoolean = true; 

你可以在你的代碼的幾乎任何部分創建布爾:在函數內部,作爲一個全局變量,作爲對象屬性...

記住比JS是一個動態弱類型語言,這意味着如果您爲myBoolean指定了不同的類型值,則它將屬於該類型。例如:

var myBoolean = true; // I'm a boolean 
myBoolean = "A string"; // I'm a string 

我怎樣才能改變的價值?

我們只是改變通過初始化變量它的價值,但它是那麼簡單:

var myBoolean = true; // I'm a boolean 
myBoolean = false; 

什麼是比較正確的方式? (我認爲if(myBoolean === true)但我不完全確定)。

你的方法是完全正確的,但你也可以在這種情況下做一些其他的事情。這都是有效的:

if(myBoolean === true) // Will check that myBoolean has the same value and type as true 
if(myBoolean == true) // Will check that myBoolean has the same value as true 
if(myBoolean) // Will check that myBoolean has a 'truthy' value (anything that is not a false, 0, "", null, undefined or NaN (not a number). 
+1

th非常感謝你,你幫了我很多 –

1

martinarroyo的答案是太棒了,但我想補充:

陣營本地使用JSX(XML + JavaScript的)。

當使用JSX,總是封裝布爾在大括號:

<View> 
    <MapView 
    showsUserLocation={true} 
    > 
    </Mapview> 
</View> 

你也可以做一些有趣的事情JSX,就像有條件地呈現組件:

<View> 
    // This component will render 
    <TouchableHighlight> 
    {true} 
    </TouchableHighlight> 
    // This component will not render 
    <TouchableHighlight> 
    {false} 
    </TouchableHighlight> 
</View> 

更多信息這裏: https://facebook.github.io/react/docs/jsx-in-depth.html