dohooo / react-native-table-component

🌱Build table for react native
MIT License
731 stars 188 forks source link

Component crashed on android while build release success #76

Closed ghost closed 5 years ago

ghost commented 5 years ago

After successfully built release on android, my app crashed when tried to use the components with borderStyle props. I tracked back to the LogCat in Android studio, the error message is below:

04-10 16:10:50.307 11235-11235/com.gjmobile E/unknown:ViewManager: Error while updating prop borderStyle java.lang.ClassCastException: Value for borderStyle cannot be cast from ReadableNativeMap to String at com.facebook.react.bridge.ReadableNativeMap.checkInstance(ReadableNativeMap.java:150) at com.facebook.react.bridge.ReadableNativeMap.getNullableValue(ReadableNativeMap.java:142) at com.facebook.react.bridge.ReadableNativeMap.getString(ReadableNativeMap.java:192) at com.facebook.react.uimanager.ReactStylesDiffMap.getString(ReactStylesDiffMap.java:71) at com.facebook.react.uimanager.ViewManagersPropertyCache$StringPropSetter.extractProperty(ViewManagersPropertyCache.java:246) at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:82) at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:132) at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:51) at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:37) at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:265) at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:200) at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:1109) at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1080) at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29) at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:166) at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:856) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:603) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 04-10 16:10:50.512 11235-11235/com.gjmobile E/AndroidRuntime: FATAL EXCEPTION: main Process: com.gjmobile, PID: 11235 com.facebook.react.bridge.JSApplicationIllegalArgumentException: Error while updating property 'borderStyle' of a view managed by: RCTScrollView at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:95) at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:132) at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:51) at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:37) at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:265) at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:200) at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:1109) at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1080) at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29) at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:166) at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:856) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:603) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassCastException: Value for borderStyle cannot be cast from ReadableNativeMap to String at com.facebook.react.bridge.ReadableNativeMap.checkInstance(ReadableNativeMap.java:150) at com.facebook.react.bridge.ReadableNativeMap.getNullableValue(ReadableNativeMap.java:142) at com.facebook.react.bridge.ReadableNativeMap.getString(ReadableNativeMap.java:192) at com.facebook.react.uimanager.ReactStylesDiffMap.getString(ReactStylesDiffMap.java:71) at com.facebook.react.uimanager.ViewManagersPropertyCache$StringPropSetter.extractProperty(ViewManagersPropertyCache.java:246) at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:82) at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:132)  at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:51)  at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:37)  at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:265)  at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:200)  at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:1109)  at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1080)  at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)  at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:166)  at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84)  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:856)  at android.view.Choreographer.doCallbacks(Choreographer.java:670)  at android.view.Choreographer.doFrame(Choreographer.java:603)  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)  at android.os.Handler.handleCallback(Handler.java:739)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  04-10 16:10:50.599 1665-1823/system_process E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf 04-10 16:10:50.599 1665-1823/system_process E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824 04-10 16:10:53.192 1665-1823/system_process E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9e9670e0 04-10 16:10:54.469 11384-11388/? E/art: Failed sending reply to debugger: Broken pipe

Environment:

If I comment out the borderStyle props everything works, any help would be very appreciate. Thanks.

ghost commented 5 years ago

Fixed the problem, we found out that the <Table> component cannot wrap <ScrollView>, please add this to the doc or notice