【问题标题】:Why we have same function in onPress react native为什么我们在 onPress 中具有相同的功能 react native
【发布时间】:2021-11-30 07:28:05
【问题描述】:

我正在学习react-native,作为一个初学者,我通过在github上搜索随机项目来学习并找到奇怪和不明白的地方,然后从中学习,今天我看到了一些花花公子的代码(我不记得了他的名字)但它看起来 像这样

 {isTrue && (
          <TouchableOpacity onPress={reset && reset}>  ===>they are the same function
            <Text>Reset</Text>
          </TouchableOpacity>
  )}

为什么我们有这样的东西?为什么不直接用reset,这家伙用&amp;&amp;

请帮帮我,我对此很困惑

【问题讨论】:

  • 它检查reset 函数是否存在,而不是只调用它

标签: javascript reactjs react-native


【解决方案1】:

我希望代码看起来像这样:

  <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 &amp;&amp; reset 将确保当 reset 为 falsy 时 reset 始终未定义。否则 reset 可能为 false、0、''、null 或 NaN。

但我认为这没有任何效果,但符合未定义的 TypeScript 定义 onPress 定义或函数onPress?: () =&gt; void;

【讨论】:

  • 但它完全按照我描述的方式使用
猜你喜欢
  • 2016-11-08
  • 2022-06-13
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 1970-01-01
相关资源
最近更新 更多