- Primary
- Success
- Info
- Warning
- Danger
Quick Start
Get up and running with UI Kitten in just a few minutes. This guide will help you create your first UI Kitten application.Choose the method that best fits your needs: start a new project with our template or add UI Kitten to an existing app.
Option 1: Start a New Project
The fastest way to start with UI Kitten is using the official template. This creates a pre-configured React Native app with UI Kitten already set up.Install React Native CLI
First, ensure you have the correct React Native CLI installed:This ensures you’re using the latest CLI tooling.
Create a new project
Create a new React Native project using the UI Kitten template:This command will:
- JavaScript
- TypeScript
- Create a new React Native project
- Install UI Kitten and all dependencies
- Set up ApplicationProvider with Eva theme
- Include example code with icons and components
What’s Included in the Template
The template project includes:- ✅ UI Kitten components library
- ✅ Eva Design System (light and dark themes)
- ✅ Eva Icons package configured
- ✅ ApplicationProvider set up
- ✅ Example components (Button, Text, Layout, Icon)
- ✅ TypeScript support (if using TS template)
Option 2: Add to Existing Project
If you already have a React Native project, follow these steps to add UI Kitten.Link native dependencies (iOS only, non-Expo)
If you’re not using Expo, link the native dependencies for iOS:
Configure ApplicationProvider
Open your
App.js or App.tsx and wrap your app with ApplicationProvider:App.js
Your First Component
Now let’s create a simple UI Kitten component to see everything in action.Basic Example
Here’s a complete example with multiple UI Kitten components:App.js
Example with Icons
To use icons, first install the Eva Icons package:App.js
Understanding Key Concepts
ApplicationProvider
TheApplicationProvider is the root component that:
- Provides theme context to all UI Kitten components
- Processes Eva Design System mappings into styles
- Enables runtime theme switching
- Should be rendered only once at the application root
mapping- Eva Design System mapping (passed via{...eva})theme- Current theme object (eva.lightoreva.dark)customMapping- Optional custom design tokens
Layout Component
TheLayout component is a theme-aware container:
- Similar to React Native’s
Viewbut with theme support - Background color automatically adapts to the current theme
- Supports multiple levels (
level='1'throughlevel='4') for visual hierarchy - Should be used as the root component of screens
Text Component
TheText component provides themed typography:
- Uses design system typography scale
- Categories:
h1,h2,h3,h4,h5,h6,s1,s2,p1,p2,c1,c2,label - Appearances:
default,alternative,hint - Automatically applies theme colors
Button Component
Buttons support multiple variants and states:- Status:
primary,success,info,warning,danger,basic,control - Size:
tiny,small,medium,large,giant - Appearance:
filled,outline,ghost - Accessories:
accessoryLeftandaccessoryRightfor icons
Theme Switching
UI Kitten supports runtime theme switching. Here’s how to implement it:Component Status Colors
All interactive components support status colors from Eva Design System:Next Steps
Now that you have UI Kitten set up, explore these topics:Component Library
Explore all 30+ UI components with examples and API reference
Theming
Customize themes and create your own brand identity
Navigation
Set up navigation in your React Native app
Eva Icons
Learn how to use and customize icons
Common Patterns
Creating Themed Components
Create your own components that respond to theme changes:Customizing Component Styles
You can customize any component using thestyle prop:
Using Multiple Status Colors
Troubleshooting
Components don't have theme styles
Components don't have theme styles
Make sure
ApplicationProvider wraps your entire app and you’re passing {...eva} and theme props.Icons not showing
Icons not showing
- Install
@ui-kitten/eva-icons - Register icons with
<IconRegistry icons={EvaIconsPack} /> - Place
IconRegistrybeforeApplicationProvider
TypeScript errors
TypeScript errors
UI Kitten includes TypeScript definitions. Ensure you’re using TypeScript 4.8.3 or higher.
App crashes on startup
App crashes on startup
- Verify all packages are installed correctly
- Restart the bundler with
--reset-cache - On iOS, run
cd ios && pod install
Additional Resources
- Kitten Tricks Demo App - 40+ screens showcasing UI Kitten
- Eva Design System - Learn about the design system
- Eva Icons - Browse all 480+ available icons
- Component Documentation - Comprehensive API reference
Need help? Ask questions on Stack Overflow with the
ui-kitten tag or open an issue on GitHub.