Skip to content

Layout Degradation with True Sheet in React Navigation Stack on New Architecture #112

@timgcarlson

Description

@timgcarlson

Hey! My team has enjoyed working with True Sheet but unfortunately we encountered a blocking bug that is preventing us from enabling the New Architecture in our app with Expo 52. When using react-native-true-sheet in an Expo project with the New Architecture enabled and Expo Router (React Navigation), the layout and functionality of TrueSheet components degrade when navigating back and forth between screens pushed onto the navigation stack.

I created a basic reproduction app that shows this this issue happening: https://github.com/timgcarlson/true-sheet-new-arch

Steps to Reproduce

  1. Clone and install the example app:
    git clone https://github.com/timgcarlson/true-sheet-new-arch.git  
    cd true-sheet-new-arch  
    npm install  
    npx expo run:ios
  2. Push a view onto the stack by tapping the button on the main screen.
  3. Observe that buttons are laid out as expected and TrueSheet components work properly.
  4. Navigate back to the main screen.
  5. Push the view back onto the stack by tapping the button again.

Expected Behavior

  • Buttons should remain properly laid out on subsequent navigations.
  • All TrueSheet components should remain tappable and functional.

Actual Behavior

  • On subsequent navigations, the first button appears at the top of the screen and becomes non-functional.
  • Repeating the repro steps results in the next button also breaking, one at a time.
  • Commenting out the TrueSheet components in new-page.tsx (NewPageComponent) prevents the issue from occurring.
  • Disabling the New Architecture ("newArchEnabled": false in app.json), deleting the iOS directory and rebuilding the app prevents the issue from occurring.

Let me know if you need additional information or if I can assist further with debugging.

Video of the issue

true-sheet-bug.mov

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions