我正在學習 react-native,作為初學者,我通過在 github 上搜索隨機專案來學習并發現奇怪和不理解的東西,然后從中學習,今天我看到了一些老兄的代碼(我不記得他的名字了)但它看起來像這樣
{isTrue && (
<TouchableOpacity onPress={reset && reset}> ===>they are the same function
<Text>Reset</Text>
</TouchableOpacity>
)}
為什么我們會有這樣的事情?為什么不直接用reset,這家伙用&&
請幫我解決這個問題,我對此很困惑
uj5u.com熱心網友回復:
我希望代碼看起來像這樣:
<TouchableOpacity onPress={() => {reset && reset()}}>
<Text>Reset</Text>
</TouchableOpacity>
reset && reset() // && shorthand for
if(reset) {
reset()
}
AFAIK之間沒有相關的區別
<TouchableOpacity onPress={reset && reset}}>
<Text>Reset</Text>
</TouchableOpacity>
和
<TouchableOpacity onPress={reset}}>
<Text>Reset</Text>
</TouchableOpacity>
reset && reset將確保當重置為假時重置始終未定義。否則,重置可能為 false、0、''、null 或 NaN。
但我認為這沒有效果,但符合未定義或函式的 onPress 定義的 TypeScript 定義 onPress?: () => void;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370045.html
標籤:javascript 反应 反应原生
