React-native: [Android]Release crash l.View.propTypes.style

Created on 13 Oct 2017  路  8Comments  路  Source: facebook/react-native

debug is fine, crash while release.

logcat dump.
`
10-13 10:28:08.810 9145 9194 E AndroidRuntime: com.facebook.react.common.JavascriptException: undefined is not an object (evaluating 'l.View.propTypes.style'), stack:
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @1184:5578
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @1183:197
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @1182:113
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @1180:311
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @698:1008
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @309:403
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:348
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: @12:44
10-13 10:28:08.810 9145 9194 E AndroidRuntime: i@2:565
10-13 10:28:08.810 9145 9194 E AndroidRuntime: n@2:278
10-13 10:28:08.810 9145 9194 E AndroidRuntime: t@2:210
10-13 10:28:08.810 9145 9194 E AndroidRuntime: global code@1260:9
10-13 10:28:08.810 9145 9194 E AndroidRuntime:
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:56)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:40)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:363)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:162)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:754)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at android.os.Looper.loop(Looper.java:160)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
10-13 10:28:08.810 9145 9194 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761)

`

Ran Commands Locked

Most helpful comment

We've been banging our heads against this issue for a few days. Seems like the cause was View.propTypes only being accessible from dev mode, meaning it is undefined in release. The fix is to switch it with ViewPropTypes.

Quote from View.js:

// `propTypes` should not be accessed directly on View since this wrapper only
  // exists for DEV mode. However it's important for them to be declared.
  // If the object passed to `createClass` specifies `propTypes`, Flow will
  // create a static type from it.
  propTypes: ViewPropTypes,

All 8 comments

@facebook-github-bot no-template

Hey, thanks for reporting this issue! It looks like your description is missing some necessary information, or the list of reproduction steps is not complete. Can you please add all the details specified in the Issue Template? This is necessary for people to be able to understand and reproduce the issue being reported. I am going to close this, but feel free to open a new issue with the additional information provided. Thanks! See "What to Expect from Maintainers" to learn more.

We've been banging our heads against this issue for a few days. Seems like the cause was View.propTypes only being accessible from dev mode, meaning it is undefined in release. The fix is to switch it with ViewPropTypes.

Quote from View.js:

// `propTypes` should not be accessed directly on View since this wrapper only
  // exists for DEV mode. However it's important for them to be declared.
  // If the object passed to `createClass` specifies `propTypes`, Flow will
  // create a static type from it.
  propTypes: ViewPropTypes,

I have the same problem in iOS 10 when running the app in release mode.

2017-10-21 22:52:35.287874+0800 MyApp[286:15231] Unhandled JS Exception: undefined is not an object (evaluating 'l.View.propTypes.style')

May i ask if there is any solution?

Thanks

In order to solve this, make sure that your app nor any of your dependencies is using View.propTypes.

@pongponglau

Hello, is there any update for this? I'm having the same issue currently, I've resolved on the debug side by running jscodeshift -t react-codemod/transforms/React-PropTypes-to-prop-types.js <path>

https://github.com/mapbox/react-native-mapbox-gl/issues/832

But the app crashes in release mode

Update on this, it seems that react-native-router-flux with version 0.38.0 was causing the issue, since then I've updated to the beta version 4.0.0-beta.24 and this has now been resolved considering the guys fixed this in the beta version but the issue was still there in the older version having the latest version of react and react-native.

"react-native-router-flux": "4.0.0-beta.24",

@timxyz Thank you.. Works for me 馃檹

search the code View.propTypes in your code and your third dependencies.
in the files:

  1. import {ViewPropTypes} from 'react-native'
  2. replace View.propTypes with ViewPropTypes

it works for me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

phongyewtong picture phongyewtong  路  3Comments

axelg12 picture axelg12  路  3Comments

grabbou picture grabbou  路  3Comments

ghost picture ghost  路  3Comments

josev55 picture josev55  路  3Comments