react-native-nitro-text
iOSとAndroidの両方で、よりリッチで高性能なTextコンポーネント。
特徴
- iOSとAndroidの両方で動作(現在はAndroidでRNの
Textにフォールバック) - ネイティブiOSレンダリングで滑らかな選択。
- ネストされたフラグメントは単一のネイティブテキストビューに統合
- MarkdownおよびHTMLのレンダリング(近日対応予定)。
- 新しいアーキテクチャのみサポート
動作環境
- React Native v0.78.0以上(Fabric/Nitro Views)
- Node 18以上(Node 20以上推奨)
インストール
yarn add react-native-nitro-text react-native-nitro-modulesiOS
cd ios && pod install && cd ..
それで終わりです。これでアプリ内で NitroText コンポーネントを使用できます。使用法
import { NitroText as Text } from 'react-native-nitro-text'export function Title() {
return (
🚀 NitroText Showcase
)
}
選択
iOSはネイティブの選択機能を使用します。Androidでは、NitroTextは現在React NativeのTextにフォールバックしています。
import { NitroText as Text } from 'react-native-nitro-text'export function SelectionExample() {
return (
Long-press to select this text. NitroText supports smooth selection,
even with inline styles and
longer paragraphs.
)
}
HTMLレンダリング
NitroTextは、renderer="html"を指定すると、HTML文字列の子要素やインラインCSSを解析できます。
import { NitroText } from 'react-native-nitro-text'export function HtmlExample() {
const html =
Renderer demo
This text comes from HTML with semantic tags.
Inline CSS works too.
return {html}
}
カスタム選択メニュー
NitroTextは、テキストが選択されたときに表示されるカスタムメニュー項目をサポートしています。menusプロパティに、titleとactionコールバックを含むメニュー項目の配列を渡します。
import { NitroText } from 'react-native-nitro-text'
import { useMemo } from 'react'export function MenuExample() {
const menus = useMemo(
() => [
{
title: 'Copy',
action: () => console.log('Copy action')
},
{
title: 'Share',
action: () => console.log('Share action')
},
{
title: 'Translate',
action: () => console.log('Translate action')
},
],
[]
)
return (
Select this text to see custom menu options appear in the selection menu.
)
}
プラットフォームサポート
- iOS
- Android - 現時点では
NitroTextは RN のTextにフォールバックします。
なぜ NitroText か?
最小限のJSオーバーヘッドとネイティブiOS選択機能を備えたカスタムネイティブテキストビュー。重い/入れ子状のスタイルテキストや大規模リストに最適です。RNの Text コンポーネントのドロップイン置換です。
開発
bun run build— 型チェックとパッケージのビルドbun run codegen— コード生成出力の再生成example/にサンプルアプリがあります
クレジット
create-nitro-module でブートストラップされました。
コントリビューション
PRは歓迎します!大きな変更はまずIssueを開いてください。
💬 迅速なサポートは、Discordチャンネルにご参加ください。
--- Tranlated By Open Ai Tx | Last indexed: 2026-05-13 ---