我正在尝试在基于react-native的应用中使用@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
...
答案 0 :(得分:1)
原因是世博会包中的拼写错误。有人分叉并更正了它:https://github.com/netbeast/react-native-touchable-native-feedback-safe 但是,我不认为他们发送了拉取请求,因为原始代码在任何地方都不公开。
编辑:
TouchableNativeFeedbackSafe.SelectableBackgroundBorderless()
是使用上述包的正确方法。