weapp-vite-react-best-practices について
weapp-vite-react-best-practices は、WeChat ミニプログラムの React 19 プロジェクト向け実践ガイドです。コンパイル、レンダリング、コンポーネント連携の境界を示し、ビルドから DevTools の実行時動作まで段階的な検証を案内します。
主な機能
- 01React の担当範囲と描画モードの設定
- 02ページ root のライフサイクルとホストイベント管理
- 03ネイティブおよび Wevu コンポーネントの bridge 登録
- 04コンポーネントとイベント連携の確認
- 05コンパイル、ビルド、実行時の段階的検証
活用シーン
- 01WeChat ミニプログラムでの React 19 プロジェクト構築
- 02静的・動的描画の挙動調査
- 03ネイティブまたは Wevu カスタムコンポーネントの接続
- 04ビルドと DevTools 実行時動作の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sonofmagic/ skills --skill weapp-vite-react-best-practicesインストール後、Claude Code で/weapp-vite-react-best-practicesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/component-interop.mdconfig-and-render-modes.mdvalidation-matrix.md詳細
weapp-vite React のベストプラクティス
用途
WeChat ミニプログラムで、予測可能な React 19 のコンパイル、レンダリング、コンポーネント相互運用の境界を確立し、実際のビルドとランタイムのシグナルで結果を検証します。
適用しない場面
- 汎用ビルド、分割パッケージ、マルチプラットフォーム、CLI:
weapp-vite-best-practicesを使用します。 - Wevu JSX/TSX または Vue SFC:それぞれ
wevu-best-practices、weapp-vite-vue-sfc-best-practicesを使用します。 - ネイティブプロジェクトから Wevu/Vue SFC への段階的な移行:
native-to-weapp-vite-wevu-migrationを使用します。 - Alipay、Douyin などの WeChat 以外のターゲット:現時点では React ランタイムの互換性は保証されていません。
基本的な手順
- 現在のワークスペースで、React 19.3.x、
react-reconciler0.34.x、@weapp-vite/reactの組み合わせを検証します。react-domは導入しないでください。 - プロジェクトレベルの
weapp.reactで React owner を有効にします。同一ビルド内の.jsx/.tsxはすべて React コンパイルチェーンに属するものとし、Wevu JSX と混在させないでください。 autoをベースラインとして設定します。安定した構造はネイティブ WXML/binding slots を生成し、静的に証明できず bridge も含まない構造は dynamic tree に入ります。- ページのネイティブエントリーポイントで root の作成、ホストイベントの転送、アンマウントを行います。React ビューは隣接する TSX モジュールに配置し、Page のライフサイクルをコンポーネントツリーに隠さないでください。
- ネイティブまたは Wevu カスタムコンポーネントが必要な場合は、まず JSON の
usingComponentsに登録し、現在の TSX のトップレベルで文字列リテラルを使ってcreateNativeComponentを呼び出します。 - React ベースのミニプログラムコンポーネントでデフォルトスロットが必要な場合は
Slotを使用します。scoped slot、model、動的 tag がサポートされているとは想定しないでください。 - React Compiler はデフォルトで無効のままにします。
@swc/coreをインストールし、fallback warning、sourcemap、実行時の動作を検証する準備ができている場合にのみ有効にしてください。 - 「ランタイムの単体テスト -> weapp-vite のコンパイルテスト -> ビルド e2e -> DevTools ランタイム」の順に、段階ごとに検証します。
- WebView glass-easel はデフォルトで無効のままにします。開発者ツールと実機の基本ライブラリがどちらも
3.8.12以上の場合に限り、ユーザーがホスト JSON でcomponentFrameworkとglassEaselWebviewをセットで設定し、wv analyze --glass-easel-checkで static/dynamic WXML と SelectorQuery を検査します。React の静的テンプレートでは、共有 WXML エンティティのエスケープ規約を引き続き使用します。
重要な境界
renderMode: 'dynamic'は reconciler tree の調査に使用します。ネイティブコンポーネント bridge はサポートしていません。renderMode: 'static'で静的に証明できない構造に遭遇した場合は、意味を黙って失うのではなく、ただちに失敗させる必要があります。autoでは、bridge を条件分岐やリストなどの動的な構造に含めてはならず、ファイルをまたぐ bridge 宣言もサポートされません。onValueChangeはbind:value-changeに、onValueChangeCaptureはcapture-bind:value-changeにマッピングされます。- React プロジェクトでは
.vueのコンパイルにwevuを明示的にインストールできますが、TSX は引き続き React owner に属します。相互運用はミニプログラムのカスタムコンポーネント bridge を介して行います。
出力
この skill を適用する際、出力には次の内容を含める必要があります。
- React owner、render mode、プラットフォーム境界の診断。
- ページ root のライフサイクルと TSX のファイル単位の変更に関する提案。
- ネイティブ/Wevu bridge の登録とイベント規約の確認。
- 最小限の検証コマンドと、実際の DevTools での確認が必要な動作。
完了条件
- React の依存関係の組み合わせと
weapp.reactの設定が明確です。 - ページのアンロード時に root が正しく unmount され、ホストイベントを転送できます。
- bridge tag が
usingComponentsと一致し、現在サポートされていない動的構造は使用されていません。 - Compiler の fallback、ビルド成果物、実際のランタイムシグナルが、それぞれ区別して検証されています。
参考資料
- 設定、render mode、Compiler:
references/config-and-render-modes.md - ネイティブ/Wevu の相互運用:
references/component-interop.md - 検証の段階:
references/validation-matrix.md
コメント
Markdown 対応