

React Native Reusables
shadcn/ui brought to React Native: copy-and-paste components and auth blocks for iOS, Android, and web, styled with Nativewind or Uniwind.
39 published items
Founded Labs
39 published items

Bringing the shadcn/ui experience to React Native
Built with familiar tools and libraries, it follows consistent styling, structure, and naming conventions, letting you use your favorite design system to create beautiful universal apps. Every item is a file you own: add it, then change it.
Key differences from shadcn/ui
- Nativewind or Uniwind: a Tailwind-like experience adapted for React Native. Every item ships in both flavors; pick the one matching your styling engine.
- RN Primitives: a universal port of Radix UI primitives for React Native with an almost identical API, enabling consistent composition on native platforms. See https://rnprimitives.com
- Portals: React Native doesn't support DOM portals. On native platforms, components like modals and menus need a
PortalHostmounted at the root of the app. - No cascading styles: child elements like
Textcan't inherit styles from a parent class. Each element must be styled directly. A smallTextClassContextworkaround letsTextinherit from components likeButton. - No data attributes: React Native doesn't support
data-*attributes, so variants rely on props or state on native platforms. - Reanimated: uses
react-native-reanimatedfor smooth, native performance. - Icons: a wrapper component combined with a Lucide icon avoids wrapping every imported icon individually, for example
<Icon as={LeftArrowIcon} />. - Programmatic control: some components, such as
DropdownMenu, can't be controlled withopenoronOpenChangeprops. Instead, arefmanages open and close behavior after layout calculation.
React Native Reusables aims to stay true to the spirit of shadcn/ui while adapting it to the unique constraints of mobile and universal development.
Getting started
New project: npx @react-native-reusables/cli@latest init creates an Expo app with everything configured. Existing project: add any item and follow the guide that comes with it.


































