React native 在React Native中,我可以将hitSlop值添加到StyleSheet.create吗?
在React Native中,我在我的React native 在React Native中,我可以将hitSlop值添加到StyleSheet.create吗?,react-native,React Native,在React Native中,我在我的TouchableHightlight组件中定义了hitSlopprop。我想知道是否可以将属性添加到函数StyleSheet.create(),以及它是否也有意义 以下是我的代码示例: const styles = StyleSheet.create({ }); const MyComp = () => ( <TouchableHighlight hitSlop={{ top: 8, left: 8, right: 8, bottom:
TouchableHightlight
组件中定义了hitSlop
prop。我想知道是否可以将属性添加到函数StyleSheet.create()
,以及它是否也有意义
以下是我的代码示例:
const styles = StyleSheet.create({
});
const MyComp = () => (
<TouchableHighlight hitSlop={{ top: 8, left: 8, right: 8, bottom: 8 }}>
</TouchableHighlight>
)
const styles=StyleSheet.create({
});
常量mycop=()=>(
)
我不这么认为
样式表是一种类似于CSS样式表的抽象。样式表仅用于样式属性(如高度、宽度、颜色等)
由于hitSlop更多的是一种功能而不是一种样式,我认为它不应该是样式表属性的一部分。传递给hitSlop的对象有严格定义的键,仅限于顶部、左侧、底部和右侧。
StyleSheet.create()
的结果是一个不兼容的类型,因此它将抛出如下错误:
NSNumber类型的JSON值“84”无法转换为UIEdgeInSet
下面是一个错误示例:
确切地说,
hitSlop
不能是样式表的一部分,但您可以为该值创建一个变量,这样就不会在每次渲染时重新创建该变量
const MY_COMP_HIT_SLOP = { top: 8, left: 8, right: 8, bottom: 8 }
const MyComp = () => (
<TouchableHighlight hitSlop={MY_COMP_HIT_SLOP}>
</TouchableHighlight>
)
const MY_COMP_HIT_SLOP={top:8,left:8,right:8,bottom:8}
常量mycop=()=>(
)
这实际上是React本地人在一个类似的道具上推荐的:按RetentionOffset
()