我正在尝试在我的基于反应原生的应用程序中使用@exponent/react-native-touchable-native-feedback-safe。我似乎无法在不打扰ios或Android的情况下设置背景道具。我做了:
<TouchableNativeFeedbackSafe onPress={this.props.onPress}
background={TouchableNativeFeedbackSafe.SelectableBackgroundBorderless()}>
这适用于Android,但在iOS上会出现错误:SelectableBackgroundBorderless不是一个函数。
如果我将其从 TouchableNativeFeedbackSafe.SelectableBackgroundBorderless()
更改为 TouchableNativeFeedbackSafe.SelectableBackgroundBorderless
则 iOS 可以工作,但 android 会抛出错误:
Error while updating property 'nativeBackgroundAndroid' of a view managed by: RCTView
updateViewProp
ViewManagersPropertyCache.java:89
setProperty
ViewManagerPropertyUpdater.java:123
updateProps
ViewManagerPropertyUpdater.java:42
updateProperties
ViewManager.java:36
createView
NativeViewHierarchyManager.java:227
execute
UIViewOperationQueue.java:148
dispatchPendingNonBatchedOperations
UIViewOperationQueue.java:890
doFrameGuarded
UIViewOperationQueue.java:863
doFrame
GuardedChoreographerFrameCallback.java:32
doFrame
ReactChoreographer.java:131
run
Choreographer.java:872
...
原因是世博会包装中的拼写错误。有人分叉并已经纠正了它:https://github.com/netbeast/react-native-touchable-native-feedback-safe但是,我认为他们没有发送拉取请求,因为原始代码在任何地方都不公开可用。
编辑:
TouchableNativeFeedbackSafe.SelectableBackgroundBorderless()
是使用上述软件包的正确方法。