Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. React Native
  3. react-native-drawer

react-native-drawer

MITJavaScriptv2

A highly customizable drawer component for React Native apps, supporting material design, slack style, and parallax effects.

GitHubGitHub
2.5k stars379 forks0 contributors

What is react-native-drawer?

React Native Drawer is a configurable drawer/side menu component for React Native applications. It enables developers to implement various navigation drawer styles, including material design, slack style, and parallax effects, across both iOS and Android platforms. However, the project maintainers caution that it may not be performant enough for production use compared to alternatives.

Target Audience

React Native developers who need a highly customizable drawer component for prototyping, experimentation, or non-production applications where performance is not critical.

Value Proposition

Developers choose React Native Drawer for its extensive customization options, including multiple drawer types, flexible animation control via tween handlers, and configurable gestures, which allow for unique visual effects not easily achievable with more performant alternatives.

Overview

React Native Drawer

Use Cases

Best For

  • Prototyping drawer-based navigation with custom animations like skew and fade effects.
  • Implementing non-standard drawer styles such as parallax or slack-style side menus.
  • Applications requiring drawers positioned on the top, bottom, left, or right of the screen.
  • Projects where fine-grained control over drawer gestures (tap, double-tap, pan) is needed.
  • Experimental or educational React Native projects exploring drawer customization.
  • Scenarios where programmatic drawer control via props, refs, or context is preferred.

Not Ideal For

  • Production applications requiring smooth 60fps drawer animations and gestures
  • Teams using React Navigation who need a tightly integrated, performant navigation solution
  • Projects that prioritize long-term stability over custom effects, given the impending API changes to Animated
  • Simple drawer implementations where basic functionality is sufficient and the complexity of many props is unnecessary

Pros & Cons

Pros

Extensive Customization Options

Offers over 20 props to control drawer types (displace, overlay, static), offsets, gestures, and animations, enabling unique styles like material design and parallax effects as shown in the examples.

Flexible Animation System

Uses a tween handler for custom animations, allowing transformations such as skew and fade via transformMatrix, which isn't easily achievable with simpler drawer components.

Multi-Directional Placement

Supports drawer placement on all four screen edges (left, right, top, bottom), providing flexibility not found in many alternatives limited to left or right.

Programmatic Control Methods

Allows drawer manipulation via props for controlled components, refs for imperative calls like .open(), or React context for decoupled access, as detailed in the usage section.

Cons

Explicit Performance Warnings

The README prominently warns against production use due to inefficient animations, recommending alternatives like React Navigation or React Native Side Menu for better performance.

Outdated Animation API

Relies on a custom tween handler instead of React Native's Animated API, with a note that future updates will require breaking changes, risking long-term compatibility.

Overwhelming Configuration

With numerous props for gestures, animations, and offsets, setting up even a basic drawer can be complex and error-prone, especially for developers needing simple functionality.

Limited Ecosystem Support

Compared to mainstream options like React Navigation, it lacks community plugins, frequent updates, and seamless integration, making troubleshooting and enhancements harder.

Frequently Asked Questions

Quick Stats

Stars2,528
Forks379
Contributors0
Open Issues154
Last commit4 years ago
CreatedSince 2015

Tags

#custom-animations#react-native#ui-components#mobile-development#material-design#drawer-component#gesture-handling#side-menu#navigation

Built With

J
JavaScript
R
React Native

Included in

React Native35.6k
Auto-fetched 1 day ago

Related Projects

react-native-vector-iconsreact-native-vector-icons

Customizable Icons for React Native with support for image source and full styling.

Stars17,865
Forks2,100
Last commit13 days ago
lottie-react-nativelottie-react-native

Lottie wrapper for React Native.

Stars17,153
Forks1,800
Last commit16 days ago
react-native-mapsreact-native-maps

React Native Mapview component for iOS + Android

Stars15,958
Forks4,949
Last commit2 months ago
react-native-gifted-chatreact-native-gifted-chat

💬 The most complete chat UI for React Native

Stars14,415
Forks3,607
Last commit27 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub