Open
Description
openedon Dec 21, 2021
What problem does this address?
Originally discussed in #36328 (comment), there is opportunity to refactor our BottomSheet
navigation transitions to better manage keyboard visibility and improve performance. At times, changes to keyboard visibility can negatively impact the performance of animations and produce bugs, e.g. #30562. Currently, we implemented keyboard visibility logic in various one-off components to address performance issues, e.g. 71ae88a, 98684f1, f8b0275.
Elsewhere, animations may appear jittery, as referenced in #32012.
What is your proposed solution?
Ideally, we architect a lower-level solution that abstracts keyboard visibility and performance improvements away from individual screens and applies a solution globally to our navigation transitions. A few possible approaches may be:
- Leverage React Navigation's
beforeRemove
event to manage keyboard visibility withinBottomSheet.NavigationContainer
prior to navigation transitions. - Audit our usage of
keyboardShouldPersistTaps
to identify changes that may improve the UX or navigation transition performance. - Audit our usage of
LayoutAnimation
to avoid stacking multiple registrations simultaneously, which can create competing registrations and sometimes leave instance unconsumed. - Replace our custom
BottomSheet
component with the third-party React Native Bottom Sheet to leverage improved performance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment