react-native-elements について
react-native-elementsは、React Native Elementsを使うアプリ向けのベストプラクティススキルです。初期設定、テーマ、コンポーネント、性能、スタイル、イベントを扱う45の優先ルールを収録しています。
主な機能
- 018カテゴリにわたる45のルール
- 02ThemeProviderとcreateThemeの指針
- 03コンポーネントの選択と設定
- 04FlatListのパフォーマンス改善案
- 05スタイルとイベント処理のパターン
活用シーン
- 01新規アプリのテーマ設定
- 02RNEコンポーネントを使ったリストやフォームの作成
- 03FlatListの性能とレンダリング方法の確認
- 04テーマ対応スタイルとコールバックの適用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill react-native-elementsインストール後、Claude Code で/react-native-elementsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
metadata.jsonassets/templates/_template.mdreferences/_sections.mdadv-custom-component.mdadv-image-component.mdadv-makeStyles.mdadv-overlay-modal.mdadv-platform-specific.mdcomp-avatar-vs-image.mdcomp-button-type.mdcomp-icon-source.mdcomp-input-over-textinput.mdcomp-listitem-over-view.mdcomp-searchbar-platform.mdevent-avoid-anonymous.mdevent-debounce-search.mdevent-input-handlers.mdevent-listitem-onpress.mdevent-usecallback.mdlist-getitemlayout.mdlist-keyextractor.mdlist-memo-items.mdlist-removeClipped.mdlist-renderitem-callback.mdlist-virtualized.mdlist-windowsize.mdprops-button-color.mdprops-disabled-styling.mdprops-icon-configuration.mdprops-input-validation.md詳細
Community React Native Elements のベストプラクティス
React Native Elements アプリケーション向けの包括的なベストプラクティスガイドです。8 つのカテゴリーにわたる 45 個のルールを、コンポーネントの使用、テーマ設定、パフォーマンス最適化の指針として、影響度の高い順に掲載しています。
適用するタイミング
次の場合に、これらのガイドラインを参照してください。
- 新しいプロジェクトで React Native Elements をセットアップするとき
- ThemeProvider と createTheme を設定するとき
- ListItem コンポーネントでリストを構築するとき
- Input と SearchBar でフォーム入力を実装するとき
- RNE コンポーネントで FlatList のパフォーマンスを最適化するとき
- React Native Elements を使用したコードをレビューするとき
優先度別のルールカテゴリー
| 優先度 | カテゴリー | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | インポートとセットアップ | CRITICAL | setup- |
| 2 | テーマアーキテクチャ | CRITICAL | theme- |
| 3 | コンポーネントの選択 | HIGH | comp- |
| 4 | リストのパフォーマンス | HIGH | list- |
| 5 | プロパティと設定 | MEDIUM-HIGH | props- |
| 6 | スタイリングパターン | MEDIUM | style- |
| 7 | コールバックとイベント | MEDIUM | event- |
| 8 | 高度なパターン | LOW | adv- |
クイックリファレンス
1. インポートとセットアップ(CRITICAL)
setup-themeprovider- 一貫したテーマ設定のため、ThemeProvider でアプリをラップするsetup-imports- @rneui/themed と @rneui/base を正しく使い分けるsetup-createtheme- createTheme で型安全なテーマ設定を行うsetup-tree-shaking- バンドルサイズの削減に適切なツリーシェイキングを有効にするsetup-safe-area- ノッチ付きデバイス向けに SafeAreaProvider を設定する
2. テーマアーキテクチャ(CRITICAL)
theme-usetheme-hook- useTheme でテーマにリアクティブにアクセスするtheme-dark-mode- createTheme でライトモード/ダークモードを設定するtheme-component-defaults- テーマでコンポーネントのデフォルト値を設定するtheme-updatetheme- 再マウントせずに実行時のテーマ更新を行うtheme-color-scheme- システムのカラースキームと同期するtheme-custom-colors- カスタムカラーでテーマを安全に拡張する
3. コンポーネントの選択(HIGH)
comp-listitem-over-view- リストの行には ListItem を使用するcomp-input-over-textinput- フォームフィールドには Input を使用するcomp-searchbar-platform- プラットフォームごとに SearchBar のバリアントを使い分けるcomp-button-type- バリアントには Button の type プロパティを使用するcomp-icon-source- バンドルサイズを考慮して Icon の種類を選ぶcomp-avatar-vs-image- プロフィール画像には Avatar を使用する
4. リストのパフォーマンス(HIGH)
list-memo-items- FlatList 内の ListItem をメモ化するlist-keyextractor- 必ず keyExtractor を指定するlist-getitemlayout- 高さが固定の場合は getItemLayout を使用するlist-renderitem-callback- useCallback で renderItem を抽出するlist-windowsize- メモリ使用量のバランスを考慮して windowSize を設定するlist-virtualized- ScrollView ではなく FlatList を使用するlist-removeClipped- removeClippedSubviews は慎重に設定する
5. Props と設定(中〜高)
props-loading-state- 非同期処理には loading prop を使用しますprops-disabled-styling- フィードバックのために disabledStyle を設定しますprops-input-validation- 入力検証には errorMessage を使用しますprops-icon-configuration- Icon props を正しく設定しますprops-searchbar-loading- SearchBar に読み込み状態を表示しますprops-button-color- セマンティックカラーには color prop を使用します
6. スタイル設定のパターン(中)
style-stylesheet- インラインオブジェクトよりも StyleSheet.create を使用しますstyle-containerStyle- ラッパーには containerStyle を使用しますstyle-usememo-dynamic- 動的なスタイルをメモ化しますstyle-theme-colors- ハードコードされた値よりもテーマカラーを使用しますstyle-component-props- コンポーネント固有のスタイル prop を優先します
7. コールバックとイベント(中)
event-usecallback- ハンドラーを useCallback でラップしますevent-debounce-search- SearchBar の onChangeText をデバウンスしますevent-listitem-onpress- 項目データを正しく渡しますevent-avoid-anonymous- レンダリング内での無名関数を避けますevent-input-handlers- Input ハンドラーを効率的に設定します
8. 高度なパターン(低)
adv-custom-component- RNE コンポーネントを正しくラップしますadv-platform-specific- プラットフォーム固有の prop を処理しますadv-makeStyles- テーマに対応したスタイルには makeStyles を使用しますadv-overlay-modal- Overlay と Modal を正しく使い分けますadv-image-component- キャッシュのために Avatar の ImageComponent を設定します
使用方法
詳しい説明とコード例については、各リファレンスファイルをお読みください。
- セクションの定義 - カテゴリーの構成と影響度
- ルールのテンプレート - 新しいルールを追加するためのテンプレート
リファレンスファイル
| ファイル | 説明 |
|---|---|
| references/_sections.md | カテゴリーの定義と順序 |
| assets/templates/_template.md | 新しいルール用のテンプレート |
| metadata.json | バージョンとリファレンス情報 |
コメント
Markdown 対応