バニラ JS と React アプリの間で共通のデータ状態を共有したいです。
私たちのプロジェクトは 2 つの主要なセクションに分かれています:
アプリのアーキテクチャはここのリンクで確認できます
index.html: これはアプリのエントリ ポイントであり、HTML 構造を設定し、スタイルシートと JavaScript ファイルへのリンクを含みます。これには、id="app" と id="root" を持つ 2 つの主要な div 要素があり、それぞれバニラ JS アプリと React マイクロフロントエンドをマウントするために使用されます。
main.js: アプリのバニラ JS 部分を初期化するためのメイン JavaScript ファイルとして機能します。コア ロジックを処理し、共有状態と対話します。
counter.js: Redux ストアにアクションをディスパッチするコードが含まれています。たとえば、カウンターを更新するために INCREMENT アクションをディスパッチします。
store.js: Redux ストアをセットアップします。これは、アプリケーションの状態を管理し、アプリのバニラ JS 部分と React 部分の間の一貫性を確保します。
App.jsx: マイクロフロントエンドの主要な React コンポーネント。 useState フックを使用してローカル状態を管理し、Redux ストアをサブスクライブしてグローバル状態を反映します。 INCREMENT アクションを送出するボタンをレンダリングし、ストアからの現在のカウントを表示します。
main.jsx: React アプリが初期化およびレンダリングされる React マイクロフロントエンドのエントリ ポイント。
完全なコードは GitHub リポジトリで見つけることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3