Tailwind CSSのユーティリティクラスをビルド時にコンパイルしてReact Nativeアプリで使えるスタイリングライブラリ。
jpudysz/react-native-unistyles
Nitro ModulesとJSIを基盤に、テーマ、レスポンシブスタイル、バリアントをStyleSheetに追加するReact Native向けスタイリングライブラリ。
- スター
- 2,973
- フォーク
- 139
- 未解決の Issue
- 4
- 最終コミット
- 4 日前
これは何?
Unistylesは、従来のStyleSheetのワークフローを、JSIとNitro Modulesを通じて公開されるC++コアに置き換えるReact Native向けスタイリングライブラリです。スタイルは一度定義すれば、関数を1回呼び出すだけで登録済みのテーマに切り替えられ、画面サイズなどの実行時条件にも応じて変化します。
このライブラリはNew ArchitectureとFabricに対応しており、Reactコンポーネントを再レンダリングするのではなく、Shadow Treeを通じてネイティブビューを更新します。ラッパーコンポーネントを追加しないため、ビュー階層はそのまま保たれます。Expoのdevelopment build、クラスや擬似クラスを扱えるCSS風のカスタムパーサーを使ったWeb、Next.jsでのサーバーサイドレンダリングにも対応しています。
このプロジェクトを使うにはReact Native 0.85以降、React 19以降が必要です。Expoで使う場合はExpo SDK 56以降が必要です。古いReact NativeバージョンとOld ArchitectureにはUnistyles 2.0が対応しています。
主な機能
- 01テーマを登録し、関数を1回呼び出すだけで切り替えられます。
- 02画面サイズなどの実行時条件に応じてスタイルが変化します。
- 03JSIバインディングとNitro Modulesを備えたC++コアを基盤としています。
- 04ラッパーコンポーネントを追加せず、ビュー階層をすっきり保てます。
- 05クラスや擬似クラスを使ったWebに加え、Next.jsでのSSRに対応しています。
- 06モノレポ内の複数プラットフォームでスタイルを共有できます。
ユースケース
- ライトテーマとダークテーマが必要なReact Nativeアプリの開発。
- ネイティブモバイルとReact Native Webのプロジェクト間でスタイルを共有。
- development buildを使ったExpoアプリへのレスポンシブレイアウトの導入。
- React Nativeのコードベースをテーマ主導のスタイリングシステムへ移行。
クイックスタート
- 1
ライブラリと依存関係の Nitro Modules をインストールします
yarn add react-native-unistyles react-native-nitro-modules - 2
お使いのプラットフォームのインストールガイドに従ってください
使う前に知っておきたいこと
- React Native 0.85 以降(New Architecture 有効)と React 19 以降が必要です。
- Expo プロジェクトでは開発ビルドが必要です。Expo Go はサポートされていません。
トピック
よくある質問
- react-native-unistyles とは?
- Nitro ModulesとJSIを基盤に、テーマ、レスポンシブスタイル、バリアントをStyleSheetに追加するReact Native向けスタイリングライブラリ。 Unistylesは、従来のStyleSheetのワークフローを、JSIとNitro Modulesを通じて公開されるC++コアに置き換えるReact Native向けスタイリングライブラリです。スタイルは一度定義すれば、関数を1回呼び出すだけで登録済みのテーマに切り替えられ、画面サイズなどの実行時条件にも応じて変化します。
- react-native-unistyles は無料で使えますか?ライセンスは?
- react-native-unistyles にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
- react-native-unistyles は今もメンテナンスされていますか?
- 活発にメンテナンス中。react-native-unistyles の最終コミットは 2026年11月3日 です。
- react-native-unistyles は何に使えますか?
- ライトテーマとダークテーマが必要なReact Nativeアプリの開発。 ネイティブモバイルとReact Native Webのプロジェクト間でスタイルを共有。 development buildを使ったExpoアプリへのレスポンシブレイアウトの導入。 React Nativeのコードベースをテーマ主導のスタイリングシステムへ移行。
- react-native-unistyles のインストール方法は?
- ライブラリと依存関係の Nitro Modules をインストールします: yarn add react-native-unistyles react-native-nitro-modules お使いのプラットフォームのインストールガイドに従ってください
- react-native-unistyles はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/jpudysz/react-native-unistyles
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
shadcn/uiをReact Native向けに移植し、NativewindまたはUniwindでスタイリングする、コピーして使えるUIコンポーネント集です。
React Native for Webは、React NativeのコンポーネントやAPIをReact DOM経由でWebブラウザーに描画するライブラリです。
Android、iOS、Webで動くReact製のユニバーサルなネイティブアプリを構築するオープンソースフレームワーク。
WebとネイティブアプリでUIコードを共有するためのReact/React Nativeスタイルライブラリ、任意で使えるUIキット、最適化コンパイラ。
Android、iOS、Webに対応し、任意のコンテンツを表示できるReact Native製アクションシート(ボトムシート)コンポーネント。