TouchableNativeFeedbackSafe.SelectableBackgroundBorderless не является функцией

Я пытаюсь использовать https://www.npmjs.com/package/@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
...

1 ответ

Решение

Причина - опечатка в экспо-пакете. Кто-то разветвлял и исправлял это уже: https://github.com/netbeast/react-native-touchable-native-feedback-safe Однако я не думаю, что они отправили запрос на извлечение, потому что исходный код не является общедоступным в любом месте.

РЕДАКТИРОВАТЬ:

TouchableNativeFeedbackSafe.SelectableBackgroundBorderless()

это правильный путь с пакетом, упомянутым выше.

Другие вопросы по тегам