目次
2。反応の提供方法を選択します:Spa vs Inertia.js
オプションA:スタンドアロンReactアプリ(SPA)
オプションB:inertia.jsを使用します(簡単にするために推奨)
3. Laravel内の反応コンポーネントを構築します
4。laravelをフロントエンドとしてAPI反応として使用します(分離)
最終的なヒント
ホームページ PHPフレームワーク Laravel ReactをLaravelと統合する方法は?

ReactをLaravelと統合する方法は?

Jul 30, 2025 am 04:05 AM
react laravel

Laravelは、Laravelをインストールし、データベースの構成、APIルートの作成、コントローラーからJSONの返却を行い、オプションでLaravel Sanctumを使用して認証を使用して、APIバックエンドとしてLaravelを設定します。 2。個別に提供されるスタンドアロンReactスパを選択するか、inertia.jsを使用してLaravel統合を締めます。慣性により、ReactコンポーネントはLaravelのルーティングおよびセッションシステム内で動作することができます。 3.慣性を使用する場合は、必要なパッケージをインストールし、Viteを構成し、ルートリアクションコンポーネントを作成し、リソース/js/ページ/にReactページを配置し、プロップとして渡されたデータを使用してルートから慣性応答を返します。 4.分離されたセットアップの場合は、Laravelを実行して別々のドメインで反応し、AxiosまたはFetchを使用してReactからLaravel APIを呼び出し、Corsと認証を適切に処理します。 5.ベストプラクティスには、より高速なビルドにViteを使用すること、機能による反応コンポーネントの整理、Laravel APIリソースによるAPI応答のフォーマット、CORSと認証のテストが含まれます。慣性とスタンドアロンのReactアプリの選択は、プロジェクトの複雑さとチームの好みに依存します。慣性は、フルスタックの統合とスタンドアロンスパスを単純化し、最新のLaravel-Reactアプリケーションの有効なアプローチの両方を提供します。

ReactをLaravelと統合する方法は?

ReactをLaravelと統合することで、ルーティング、認証、APIなどのLaravelの堅牢なバックエンド機能を活用しながら、強力で動的なフロントエンドを構築できます。現代のLaravelプロジェクトで効果的に行う方法は次のとおりです。

ReactをLaravelと統合する方法は?

1. Laravelを設定し、APIを作成します

まず、LaravelがバックエンドAPIとして機能するように設定されていることを確認してください。

  • Composerを介してLaravelをインストールします。

    ReactをLaravelと統合する方法は?
    作曲家Create-Project Laravel/Laravel Your-Project-Name
  • データベース設定で.envファイルを構成し、移行を実行します。

     PHPの職人が移行します
  • routes/api.phpでAPIルートを作成します:

    ReactをLaravelと統合する方法は?
    ルート:: get( '/posts'、[postcontroller :: class、 'index']);
  • コントローラーがJSON(APIリソースまたは雄弁なコレクション)を返すようにしてください。

    パブリック関数インデックス()
    {
        return post :: all();
    }

React Frontendの認証が必要な場合は、Laravel Sanctumを使用してください。


2。反応の提供方法を選択します:Spa vs Inertia.js

2つの主なアプローチがあります。

オプションA:スタンドアロンReactアプリ(SPA)

  • Viteを使用して個別に反応するか、Reactアプリを作成します。
  • 別のドメイン( http://localhost:3000 )または静的ファイルから提供します。
  • 開発中にLaravelをプロキシAPI呼び出しに構成します(オプション)。

compantive多くのインタラクティブコンポーネントを備えた大きくて複雑なフロントエンドに最適です。

オプションB:inertia.jsを使用します(簡単にするために推奨)

Inertiaでは、Laravelのルーティングおよびセッションシステム内にとどまっている間、Reactコンポーネントを使用できます。

  • 慣性をインストールします:

    作曲家には、inertiajs/inertia-laravelが必要です
  • フロントエンドの足場を設定します:

     npmインストール @inertiajs/React React React-dom @vitejs/Plugin-React
  • vite.config.jsを更新:

     'vite'から{defenconfig}をインポートします。
    '@vitejs/プラグインの反応'からのImport React;
    'laravel-vite-plugin'からlaravelをインポートします。
    
    デフォルトのデフォルトdefineconfigをエクスポートする({
      プラグイン:[
        laravel({
          入力: 'resources/js/app.jsx'、
          更新:本当、
        })、
        React()、
      ]、、
    });
  • Root Reactコンポーネント( resources/js/app.jsx )を作成します。

     「React-Dom/Client」から{Createroot}をインポートします。
    '@inertiajs/React'から{createInertiaApp}をインポートします。
    
    CreateInertiaApp({
      Resolve:name => require( `./pages/$ {name}`)、
      セットアップ({el、app、props}){
        createroot(el).render(<app {... props} />);
      }、
      タイトル:title => `私のアプリ| $ {title} `、
    });
  • Laravelルートからの慣性応答を返す:

    慣性\ inertiaを使用します。
    
    ルート:: get( &#39;/&#39;、function(){
        return inertia :: render( &#39;wamelt&#39;、[&#39;message&#39; => &#39;hello laravel!&#39;]);
    });

laravel LaravelハンドリングルーティングとUIに電力を供給する反応が必要なフルスタックアプリに最適です。


3. Laravel内の反応コンポーネントを構築します

慣性またはバンドルされたセットアップで:

  • resources/js/Pages/に反応コンポーネントを配置します。

  • 例: resources/js/Pages/Posts/Index.jsx

     &#39;@inertiajs/React&#39;から{usepage}をimport;
    
    デフォルト機能postindex({post}){
      const {props} = usePage();
      戻る (
        <div>
          <h1>投稿</h1>
          {propss.posts.map(post =>(
            <div key = {post.id}> {post.title} </div>
          ))}
        </div>
      );
    }
  • Laravelコントローラーからのデータを渡す:

    復活:: render( &#39;posts/index&#39;、[
        &#39;posts&#39; => post :: all()
    ]);

?動的なデータ(検索、ページネーションなど)については、慣性訪問またはaxiosを使用して、Laravel APIルートにヒットします。


4。laravelをフロントエンドとしてAPI反応として使用します(分離)

完全に個別のフロントエンドを好む場合:

  • laravelはapi.yourapp.test (バックエンドのみ)で実行し続けます。

  • localhost:3000でReactアプリ(Vite、Next.jsなどを使用)をビルドします。

  • AxiosまたはFetchを介してLaravel APIを呼び出します。

     effect(()=> {
      axios.get( &#39;http://api.yourapp.test/api/posts&#39;)
        .then(res => setposts(res.data))
        .catch(err => console.error(err));
    }、[]);
  • CORSのハンドル: fruitcake/laravel-corsをインストールするか、Laravel SanctumのSPA機能を使用します。

    作曲家には、フルーツケーキ/ララヴェルcorsが必要です

overtaseatlesteatlesteatsステートレスではないにしても、認証(Sanctum/sanctum/sanctum/socialite)およびCSRFを管理することを忘れないでください。


最終的なヒント

  • WebpackでViteを使用します(ビルドが高速)。
  • ページまたは機能ごとに整理されたReactコンポーネントを保持します。
  • Laravel APIリソースを使用して、JSON出力をきれいにフォーマットします。
  • Corsと認証を早期にテストします。

基本的に、慣性を介してしっかりと反応するか、フロントエンドスパとして分離することができます。慣性は複雑さを軽減し、Laravelエコシステムにあなたを維持しますが、スタンドアロンのReactアプリはフロントエンドの柔軟性を高めます。チームとプロジェクトのニーズに基づいて選択します。

以上がReactをLaravelと統合する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelで紹介システムを実装する方法は? Laravelで紹介システムを実装する方法は? Aug 02, 2025 am 06:55 AM

紹介テーブルを作成して、紹介、紹介、推奨コード、使用時間を含む推奨関係を記録します。 2.推奨データを管理するために、ユーザーモデルのBelongStomanyとHasmanyの関係を定義します。 3.登録時に一意の推奨コードを生成します(モデルイベントを通じて実装できます)。 4.登録中にパラメーターをクエリすることにより、推奨コードをキャプチャし、検証後に推奨関係を確立し、自己称賛を防ぎます。 5.推奨されるユーザーが指定された動作(サブスクリプション順序)を完了した場合、報酬メカニズムをトリガーします。 6.共有可能な推奨リンクを生成し、Laravel Signature URLを使用してセキュリティを強化します。 7.推奨事項の総数や変換された番号など、ダッシュボードに推奨統計を表示します。データベースの制約、セッション、またはCookieが持続することを確認する必要があります。

Laravelアプリに機能フラグを実装する方法は? Laravelアプリに機能フラグを実装する方法は? Jul 30, 2025 am 01:45 AM

chooseafeatureflagstrategysuchasconfigベース、データベース駆動型、orhird-partytoolslikeflagsmith.2.setupadatabase-drivensystemby-drivensystemmigrationforafeature_flagstablewithname、evanabled、andrulesfields、thenrunthigration.3

LaravelでREST APIを構築する方法は? LaravelでREST APIを構築する方法は? Jul 30, 2025 am 03:41 AM

新しいLaravelプロジェクトを作成し、サービスを開始します。 2。モデル、移行、コントローラーを生成し、移行を実行します。 3.ルート/api.phpのRESTFULルートを定義します。 4.ポストコントローラーに追加、削除、変更、クエリメソッドを実装し、JSON応答を返します。 5. PostmanまたはCurlを使用して、API関数をテストします。 6.オプションで、Sanctumを介してAPI認証を追加します。最後に、実用的なアプリケーションに適した、完全かつ拡張可能なLaravelRestapiの明確な構造を取得します。

Laravelのリポジトリ契約とは何ですか? Laravelのリポジトリ契約とは何ですか? Aug 03, 2025 am 12:10 AM

リポジトリパターンは、データアクセスロジックからビジネスロジックを切り離すために使用される設計パターンです。 1.インターフェイス(契約)を介してデータアクセスメソッドを定義します。 2。特定の操作は、リポジトリクラスによって実装されます。 3.コントローラーは、依存関係噴射を介してインターフェイスを使用し、データソースに直接接触しません。 4.利点には、きちんとしたコード、強力なテスト可能性、簡単なメンテナンス、チームのコラボレーションが含まれます。 5。中規模および大規模なプロジェクトに適用されると、小規模プロジェクトはモデルを直接使用できます。

Laravelの雄弁なOrmとは何ですか? Laravelの雄弁なOrmとは何ですか? Jul 29, 2025 am 03:50 AM

Eloquentormは、Laravelの組み込みオブジェクトリレーショナルマッピングシステムです。ネイティブSQLの代わりにPHP構文を介してデータベースを操作し、コードをより簡潔でメンテナンスしやすくします。 1.各データテーブルはモデルクラスに対応し、各レコードはモデルインスタンスとして存在します。 2。アクティブレコードモードを採用すると、モデルインスタンスを単独で保存または更新できます。 3。サポートバッチ割り当て、およびセキュリティを確保するために$充填可能な属性をモデルで定義する必要があります。 4. 1対1、1対10、多目的などなど、強力な関係サポートを提供し、メソッド呼び出しを介して関連するデータにアクセスできます。 5。クエリを構築するために、Orderbyおよびその他のメソッドをChainedと呼ぶことができる統合クエリコンストラクター。 6。属性を取得または設定するときに数値をフォーマットできるアクセサと修飾子をサポートします。

Laravelでの検証のフォームリクエストを使用します。 Laravelでの検証のフォームリクエストを使用します。 Jul 30, 2025 am 05:04 AM

フォームレクエストを使用して、コントローラーから複雑なフォーム検証ロジックを抽出し、コードの保守性と再利用性を向上させます。 1。作成方法:職人コマンドMakeを介してリクエストクラスを生成します。リクエスト。 2。定義ルール:ルール()メソッドでフィールド検証ロジックを設定します。 3。コントローラーの使用:このクラスをパラメーターとして直接受信し、Laravelは自動的に検証します。 4。承認判断:authorize()メソッドを介したユーザー許可を制御します。 5。動的調整ルール:リクエストコンテンツに従って異なる検証ルールを動的に返します。

Laravelで雄弁でアクセサと突然変異体を使用する方法は? Laravelで雄弁でアクセサと突然変異体を使用する方法は? Aug 02, 2025 am 08:32 AM

Accessors andMutatorsin andlaravel'seloquentormallowyoutoformatormatulatemodelattributestributestributestributes.1.useaccessorstocustomizeattributertrieval、そのような存在するfirst_nameviagetfirstmeattribute($ valuation)

Laravelで雄弁でサブQueriesを使用する方法は? Laravelで雄弁でサブQueriesを使用する方法は? Aug 05, 2025 am 07:53 AM

laraveLeLoquentsSubqueriesInselect、from、where、andorderbyclauses、enableing flexibledataryvalwithoutrawsql;

See all articles