Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react-native和react-native手势处理程序的可触摸项之间的差异_Javascript_React Native - Fatal编程技术网

Javascript react-native和react-native手势处理程序的可触摸项之间的差异

Javascript react-native和react-native手势处理程序的可触摸项之间的差异,javascript,react-native,Javascript,React Native,react native和react native手势处理程序都提供可触摸(TouchableOpacity,TouchableHighlight等) 两个软件包的可触摸屏之间有什么区别? 任何详细的解释都将不胜感激。我认为他们文档上的描述非常有用: 手势处理程序库提供了RN的可触摸 基于本机按钮且不依赖JS的组件 RN使用的应答器系统。我们的可触摸实现如下 同样的API,旨在成为触控设备的替代品 在React Native中提供 使用RNGH触摸屏替代这些设备的动机 从React Native

react native
react native手势处理程序
都提供可触摸(
TouchableOpacity
TouchableHighlight
等)

两个软件包的可触摸屏之间有什么区别?
任何详细的解释都将不胜感激。

我认为他们文档上的描述非常有用:

手势处理程序库提供了RN的可触摸 基于本机按钮且不依赖JS的组件 RN使用的应答器系统。我们的可触摸实现如下 同样的API,旨在成为触控设备的替代品 在React Native中提供

使用RNGH触摸屏替代这些设备的动机 从React Native导入是为了更加遵循内置的本机行为 通过使用平台本地触摸系统而不是依赖 在JS响应程序系统上。这些可触摸对象及其反馈 行为与本地手势生态系统紧密结合,可以 与其他本机组件(如ScrollView)连接,并且 手势处理程序以更可预测的方式轻松处理,如下所示 本机应用程序的行为


因此,如果您是本地用户(而不是网络用户),最好使用RNGH提供的触控功能。也许他们很快就会包括来自RN的新的可按下组件。

在一个实际的egsample中,来自RNGH的TouchableOpacity可以用于循环中,我们将能够唯一地识别循环中的每个对象(例如:获取循环中某个元素的keyId),但我们使用react native的另一个TouchableOpacity,这是无法做到的

在此代码段中,每个时隙卡都可以唯一标识,每次调用所选函数时,它都将由不同的值填充(此touchableOpacity从RNGC导入)

(
{选定(项目);}}>
)}
/>

这是一个有点误导人或至少不完整的答案。为什么RN的
TouchableOpacity
无法实现同样的效果?
<FlatGrid
      itemDimension={80}
      data={timeslots}
      spacing={8}
      renderItem={({ item }) => (
        <View >
            <TouchableOpacity onPress={()=>{selected(item);}}>
        <TimeslotCard name={item.slot} />
        </TouchableOpacity>
        </View> )}
/>