React-native-gesture-handler: <touchable>样式与 React Native Touchables 不兼容</touchable>

创建于 2019-05-14  ·  3评论  ·  资料来源: software-mansion/react-native-gesture-handler

RNGH Touchables 在样式化时与 RN Touchables 有不同的行为——使它们不兼容。

举个例子:

这是 RN TouchableOpacity (和 RNGH BaseButton )的行为:

Captura de pantalla 2019-05-14 11 02 45

这是 RNGH 可触摸的行为:

Captura de pantalla 2019-05-14 11 03 01

黄色框是可触摸的flex: 1

问题是所有 RNGH Touchables 都渲染了两个包装视图:

https://github.com/kmagiera/react-native-gesture-handler/blob/baf2ba72ea4fca22a11b507cffb4ee94f0126480/touchables/GenericTouchable.js#L258 -L266

样式应用于子视图,因此应用flex: 1不会做人们所期望的。

我_认为_避免这种不兼容的唯一方法是仅渲染一个本机视图。 这也应该提高一点性能。

我愿意帮助实现(至少在 JS+iOS 方面),但我需要一些基本的指针来说明如何让RawButton接受View道具......

Important Touchable

最有用的评论

这事有进一步更新吗 ? @kmagiera @brentvatne

所有3条评论

这事有进一步更新吗 ? @kmagiera @brentvatne

@radex #854 不完全是您提出的建议,但确实允许解决方法。

在我的用例中,将 '''containerStyle={{ flex: 1 }}''' 提供给 RNGH Touchable 以及我现有的 '''style''' 道具,反映了本机行为。

如果未修复,则至少需要在文档中提及

此页面是否有帮助?
0 / 5 - 0 等级