react-navigation / react-navigation/react-navigation

Android platform debug mode, open/close drawer animate so slow

Open
#12,192 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug platform:android repro provided
Dominant language
TypeScript
Stars
24.5k
Forks
5.1k
Avg merge
1d 5h
Merged PRs (30d)
18

Description

Current behavior

The animation is so slow when try to open/close drawer (@react-navigation/drawer ^6.7.2) in Android platform only. IOS work perfectly

Expected behavior

it should be work like ios platform smoothly

Reproduction

https://github.com/TonyFTannous/TemplateTest.git

Platform
  • Android
  • iOS
  • Web
  • Windows
  • MacOS
Packages
  • @react-navigation/bottom-tabs
  • @react-navigation/drawer
  • @react-navigation/material-top-tabs
  • @react-navigation/stack
  • @react-navigation/native-stack
  • react-native-tab-view
Environment

"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.6.0",
"@fortawesome/free-brands-svg-icons": "^6.6.0",
"@fortawesome/free-regular-svg-icons": "^6.6.0",
"@fortawesome/free-solid-svg-icons": "^6.6.0",
"@fortawesome/react-native-fontawesome": "^0.3.2",
"@gorhom/bottom-sheet": "^4.6.4",
"@react-native-async-storage/async-storage": "^1.24.0",
"@react-native-masked-view/masked-view": "^0.3.1",
"@react-navigation/bottom-tabs": "^6.6.1",
"@react-navigation/drawer": "^6.7.2",
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.11.0",
"@reduxjs/toolkit": "^2.2.7",
"axios": "^1.7.4",
"dayjs": "^1.11.12",
"i": "^0.3.7",
"jwt-decode": "^4.0.0",
"npm": "^10.8.2",
"patch-package": "^8.0.0",
"react": "18.3.1",
"react-native": "0.75.1",
"react-native-bootsplash": "^6.1.1",
"react-native-chart-kit": "^6.12.0",
"react-native-config": "^1.5.3",
"react-native-device-info": "^11.1.0",
"react-native-gesture-handler": "^2.20.0",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-reanimated": "^3.15.4",
"react-native-root-toast": "^3.6.0",
"react-native-safe-area-context": "^4.10.9",
"react-native-screens": "^3.34.0",
"react-native-svg": "^15.5.0",
"react-native-ui-datepicker": "^2.0.3",
"react-redux": "^9.1.2",
"redux-persist": "^6.0.0"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native/babel-preset": "0.75.1",
"@react-native/eslint-config": "0.75.1",
"@react-native/metro-config": "0.75.1",
"@react-native/typescript-config": "0.75.1",
"@types/react": "^18.3.3",
"@types/react-test-renderer": "^18.3.0",
"babel-jest": "^29.7.0",
"babel-plugin-module-resolver": "^5.0.2",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-react-hooks": "^4.6.2",
"jest": "^29.7.0",
"jetifier": "^2.0.0",
"prettier": "3.3.3",
"react-native-devsettings": "^1.0.5",
"react-test-renderer": "18.3.1",
"reactotron-react-native": "^5.1.9",
"reactotron-redux": "^3.1.10",
"typescript": "5.5.4"
},
"engines": {
"node": ">=18"
},
"overrides": {
"eslint-plugin-jest": "28.2.0"
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the Android-only drawer animation problem from the linked TemplateTest repository using @react-navigation/drawer ^6.7.2 and the listed React Native environment. Compare opening and closing behavior with iOS, then investigate the animation-related dependencies, especially react-native-reanimated and react-native-gesture-handler. Done means Android drawer transitions are smooth and match the expected iOS behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native
Domain
mobile, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.