Skip to content

Android Bug Only? - Uniwind __nativeTag error when navigating with expo router #371

Description

@jasonmzx

What happened?

I'm getting this bug (Only on Android) where whenever I navigate screens (via expo router) I get an issue __nativeTag

apply (apps/mobile/<native>)
  _construct (node_modules/@babel/runtime/helpers/construct.js:4:65)
  Wrapper (node_modules/@babel/runtime/helpers/wrapNativeSuper.js:15:23)
  construct (apps/mobile/<native>)
  _callSuper (node_modules/@babel/runtime/helpers/callSuper.js:5:108)
  NamelessError (node_modules/@expo/metro-runtime/src/metroServerLogs.native.ts:102:20)
  captureCurrentStack (node_modules/@expo/metro-runtime/src/metroServerLogs.native.ts:106:27)
  HMRClient.log (node_modules/@expo/metro-runtime/src/metroServerLogs.native.ts:39:79)
  console.level (node_modules/react-native/Libraries/Core/setUpDeveloperTools.js:41:24)
  apply (apps/mobile/<native>)
  fill$argument_2 (node_modules/@sentry/browser/node_modules/@sentry/core/build/esm/instrument/console.js:37:8)
  setLogHandler$argument_0 (node_modules/react-native-purchases/dist/purchases.js:115:38)
  eventEmitter.addListener$argument_1 (node_modules/react-native-purchases/dist/purchases.js:73:21)
  apply (apps/mobile/<native>)
  emit (node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js:130:36)
  apply (apps/mobile/<native>)
  <anonymous> (node_modules/@babel/runtime/helpers/superPropGet.js:6:19)
  RCTDeviceEventEmitterImpl#emit (node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js:33:5)
 LOG User created! Email: [corine_oreilly32@yahoo.com](mailto:corine_oreilly32@yahoo.com)
 ERROR [TypeError: Cannot read property '__nativeTag' of null]
Code: accents.ts
  18 | }
  19 |
20 | shadowNodeHandle.fromTag(ref.getInnerViewRef().__nativeTag)
     | ^
  21 |
  22 | return shadowNodeHandle
  23 | }
Call Stack
  resolveHandle (node_modules/uniwind/src/components/native/utils/accents.ts:20:59)
  accentProps.reduce$argument_0 (node_modules/uniwind/src/components/native/utils/accents.ts:171:41)
  reduce (apps/mobile/<native>)
  resolveAccents (node_modules/uniwind/src/components/native/utils/accents.ts:165:30)
  requestIdleCallback$argument_0 (node_modules/uniwind/src/components/native/ScrollView.tsx:62:51)

I only get the __nativeTag issues from this one file, accents.ts so I think when I re-route in expo router, Uniwind might be loading something in that causes this error and results to a Grey Screen in production, or the __nativeTag issue in dev environment that can be dismissed , it's FATAL in production build on Android though.

I downgraded back to Uniwind 1.3.0 and it's fine again, the Pro is bugged I went down to version beta.5 and up to beta.10, they all have this issue

Steps to Reproduce

  1. const { theme } = useUniwind();, configure your styles then initialize expo-router;
  2. const router = useRouter();, router.navigate("/another/route")
  3. Uniwind-Pro issue occurs with this nativeTag issue

Snack or Repository Link (Optional)

No response

Uniwind version

1.0.0

React Native Version

0.81.5

Platforms

Android

Expo

Yes

Additional information

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions