Repolode
jpudysz

jpudysz/react-native-unistyles

Biblioteca de estilos para React Native que amplia o StyleSheet com temas, estilos responsivos e variantes, usando Nitro Modules e JSI.

Estrelas
2,973
Forks
139
Issues abertas
4
Último commit
há 3 dias

O que é?

Unistyles é uma biblioteca de estilos para React Native que substitui o fluxo de trabalho habitual com StyleSheet por um núcleo em C++ exposto via JSI e Nitro Modules. Os estilos são definidos uma única vez e podem alternar entre temas registrados com uma única chamada de função, além de se adaptarem ao tamanho da tela e a outras condições de execução.

A biblioteca funciona com a New Architecture e o Fabric, atualizando as views nativas pela Shadow Tree em vez de renderizar novamente os componentes React. Ela não adiciona componentes wrapper, então a hierarquia de views permanece igual. Oferece suporte a builds de desenvolvimento do Expo, à web por meio de um parser personalizado semelhante a CSS, com classes e pseudo classes, e à renderização no servidor com Next.js.

O projeto requer React Native 0.85+, React 19+ e Expo SDK 56+ quando usado com Expo. Versões anteriores do React Native e a Old Architecture são atendidas pelo Unistyles 2.0.

Recursos principais

  • 01É possível registrar temas e alternar entre eles com uma única chamada de função.
  • 02Os estilos reagem ao tamanho da tela e a outras condições de execução.
  • 03Construído sobre um núcleo em C++, com bindings para JSI e Nitro Modules.
  • 04Não adiciona componentes wrapper, mantendo a hierarquia de views organizada.
  • 05Oferece suporte à web com classes e pseudo classes, além de SSR com Next.js.
  • 06Os estilos podem ser compartilhados entre plataformas em um monorepo.

Casos de uso

  • Criar um app React Native que precise de temas claro e escuro.
  • Compartilhar um conjunto de estilos entre projetos para dispositivos móveis nativos e React Native Web.
  • Adicionar layouts responsivos a um app Expo usando builds de desenvolvimento.
  • Migrar uma base de código React Native para um sistema de estilos baseado em temas.

Início rápido

  1. 1

    Instale a biblioteca e sua dependência Nitro Modules

    yarn add react-native-unistyles react-native-nitro-modules
  2. 2

    Siga o guia de instalação da sua plataforma

Antes de usar

  • É necessário usar React Native 0.85 ou posterior com a New Architecture e React 19 ou posterior.
  • Projetos Expo precisam de builds de desenvolvimento; o Expo Go não é compatível.

Tópicos

Perguntas frequentes

O que é react-native-unistyles?
Biblioteca de estilos para React Native que amplia o StyleSheet com temas, estilos responsivos e variantes, usando Nitro Modules e JSI. Unistyles é uma biblioteca de estilos para React Native que substitui o fluxo de trabalho habitual com StyleSheet por um núcleo em C++ exposto via JSI e Nitro Modules. Os estilos são definidos uma única vez e podem alternar entre temas registrados com uma única chamada de função, além de se adaptarem ao tamanho da tela e a outras condições de execução.
react-native-unistyles é gratuito? Qual é a licença?
react-native-unistyles não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
react-native-unistyles ainda é mantido?
Manutenção ativa. O último commit de react-native-unistyles foi em 3 de nov. de 2026.
Para que posso usar react-native-unistyles?
Criar um app React Native que precise de temas claro e escuro. Compartilhar um conjunto de estilos entre projetos para dispositivos móveis nativos e React Native Web. Adicionar layouts responsivos a um app Expo usando builds de desenvolvimento. Migrar uma base de código React Native para um sistema de estilos baseado em temas.
Como instalar react-native-unistyles?
Instale a biblioteca e sua dependência Nitro Modules: yarn add react-native-unistyles react-native-nitro-modules Siga o guia de instalação da sua plataforma
Onde consigo react-native-unistyles?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jpudysz/react-native-unistyles

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados