更新由以下人员管理的视图的属性“nativeBackgroundAndroid”时出错:RCTView

时间:2016-09-11 16:26:32

标签: reactjs react-native

React本机应用程序因以下错误而崩溃。我不太清楚这个错误。知道这个错误是什么意思吗?我正在使用React Native 0.31,我在设备Galaxy Core2中的Android 4.4中收到此错误

    com.facebook.react.bridge.JSApplicationIllegalArgumentException: Error while updating property 'nativeBackgroundAndroid' of a view managed by: RCTView
    at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:88)
    at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:123)
    at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:42)
    at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:34)
    at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:220)
    at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:148)
    at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:890)
    at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:863)
    at com.facebook.react.uimanager.GuardedChoreographerFrameCallback.doFrame(GuardedChoreographerFrameCallback.java:32)
    at com.facebook.react.uimanager.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:131)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:811)
    at android.view.Choreographer.doCallbacks(Choreographer.java:613)
    at android.view.Choreographer.doFrame(Choreographer.java:582)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:146)
    at android.app.ActivityThread.main(ActivityThread.java:5511)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:77)
    ... 22 more
Caused by: com.facebook.react.bridge.JSApplicationIllegalArgumentException: Attribute selectableItemBackgroundBorderless couldn't be found in the resource list
    at com.facebook.react.views.view.ReactDrawableHelper.createDrawableFromJSDescription(ReactDrawableHelper.java:43)
    at com.facebook.react.views.view.ReactViewManager.setNativeBackground(ReactViewManager.java:104)
    ... 25 more

2 个答案:

答案 0 :(得分:1)

这是因为nativeBackgroundAndroid不是视图中的有效属性。

我能够通过

重新创建它
<View style={styles.someStylesheet} nativeBackgroundAndroid={styles.someStylesheet}>
    //some view stuff
</View>   

答案 1 :(得分:0)

TouchableWithoutFeedback 给我造成了这个问题。我用 activeOpacity={0.9} 替换了它 TochableOpacity 作为解决方法。

其他人也报告了 TouchableNativeFeedback 的相同问题。

https://github.com/facebook/react-native/issues/29414