Getting Started

Install react-ui-library, wire up the provider, and render your first component.

Prerequisites

Node.js

20.19.4 or newerAn active LTS release (22.x or 24.x) is the safest choice

npm

10 or newerBundled with Node.js

Install with npm

Add @platform-blocks/react-ui-library to your React Native or Expo project:

npm

 

install

@platform-blocks/react-ui-library

Install the peer dependencies

React UI Library builds on a handful of packages your app provides. On Expo, install them with expo install so the versions match your SDK:

npx

 

expo

 

install

\

    

react-native-reanimated

\

    

react-native-safe-area-context

\

    

react-native-svg

\

    @tabler/icons-react-native

Set up the provider

Wrap your root component with PlatformBlocksProvider to enable theming:

import

React from

'react'

;

import

 

{

PlatformBlocksProvider

}

from

'@platform-blocks/react-ui-library'

;

import

 

{

YourApp

}

from

'./YourApp'

;

 

export

default

function

App

(

)

 

{

  

return

 

(

    

<

PlatformBlocksProvider

>

      

<

YourApp /

>

    

<

/PlatformBlocksProvider

>

  

)

;

}

Verify the install

Render a component to confirm everything is wired up:

import

React from

'react'

;

import

 

{

Text

,

Button

,

Card

}

from

'@platform-blocks/react-ui-library'

;

 

export

 

function

TestComponent

(

)

 

{

  

return

 

(

    

<

Card variant

=

'outline'

>

      

<

Text variant

=

'h2'

>

        

Welcome

to React UI Library! 🎉

      

<

/Text

>

      

<

Button

        

title

=

'It works!'

        

variant

=

'filled'

        

onPress

=

{

(

)

 

=

>

console.log

(

'Success!'

)

}

      /

>

    

<

/Card

>

  

)

;

}

Templates

Start from a preconfigured project instead of wiring the provider yourself.

To use a template, open it on GitHub and click the "Use this template" button — GitHub creates a fresh repository from it under your account. Expo templates also work with npx create-expo-app@latest my-app --template <repo-url>. Every template ships with React UI Library, its peer dependencies, and the provider already set up.

expo-template

Expo

iOS

Android

Web

Full-featured Expo Router app targeting iOS, Android, and web — dark mode, testing, and linting wired up.

expo-min-template

Expo

Minimal

Minimal Expo app — a single screen with the provider set up and nothing else to delete.

universal-template

Expo

iOS

Android

Web

Static web

Cross-platform Expo app with statically rendered web output — one codebase shipping native apps and a real website.

native-template

Expo

iOS

Android

iOS and Android only — no web configuration, for teams shipping mobile apps exclusively.

web-template

Web

React Native Web

React Native Web only — React UI Library components in a web-first single-page app.

react-native-template

coming soon

React Native CLI

iOS

Android

Bare React Native (community CLI, no Expo) with native projects checked in and peer dependencies linked.
Built a starter with your own stack? Share it with the community and we will list it here.

Platforms

One component model. Native feel everywhere.

iOS

(iOS 26+)

Supported

Native views on iPhone and iPad, with platform haptics, gestures, and safe areas handled for you

Android

(API 36+)

Supported

Native Android rendering with edge-to-edge layouts and the same component API as every platform

Web

(Modern browsers)

Supported

Progressive web apps with responsive design

</>

react-ui-library

100+ accessible, themeable components that work seamlessly across iOS, Android, and Web.

A Platform Blocks product.