A Text component that is much richer and performant for both iOS and Android.
NitroText.mp4
- Works on both iOS and Android(currently fallback to RN
Texton Android) - Native iOS rendering with smooth selection.
- Nested fragments merge into a single native text view
- Rendering Markdown and HTML (coming soon).
- Supports only the New Architecture
- React Native v0.78.0 or higher (Fabric/Nitro Views)
- Node 18+ (Node 20+ recommended)
yarn add react-native-nitro-text react-native-nitro-modulesiOS
cd ios && pod install && cd ..That’s it. You can now use the NitroText component in your app.
import { NitroText as Text } from 'react-native-nitro-text'
export function Title() {
return (
<Text style={{ fontSize: 24, fontWeight: 'bold' }}>
🚀 NitroText Showcase
</Text>
)
}iOS uses native selection. On Android, NitroText currently falls back to React Native Text.
import { NitroText as Text } from 'react-native-nitro-text'
export function SelectionExample() {
return (
<Text selectable style={{ fontSize: 16, lineHeight: 22 }}>
Long-press to select this text. NitroText supports smooth selection,
even with <Text style={{ fontWeight: '600' }}>inline styles</Text> and
longer paragraphs.
</Text>
)
}- iOS
- Android - At the moment
NitroTextfallback to RNText.
Custom native text view with minimal JS overhead and native iOS selection. Great for heavy/nested styled text and large lists. It's a drop-in replacement for RN Text component.
bun run build— typecheck and build the packagebun run codegen— regenerate codegen outputs- Example app in
example/
Bootstrapped with create-nitro-module.
PRs welcome! Please open an issue first for major changes.