2017-11-27 13 views
1

以下は私にとって不明です。今のところ、Reactjsコンポーネントはビューに埋め込まれていませんが、シングルページアプリケーションでしか表示されません。ブレードビューのLaravel + ReactJS緩いコンポーネント。良い練習ですか?

ブレードテンプレートエンジンと組み合わせてLaravelアプリケーションでReactjを使用できるのだろうか?私はLaravelプロジェクトを持っており、ReactJSがDOMにバインドする方法が気に入っています。しかし、私はJS SPA全体を必要としません。

異なるReactJsコンポーネントをブレードビューにゆるやかに使用することは可能でしょうか?たとえば、相互に通信できるReactテーブルコンポーネントとヘッダーメッセージコンポーネントです。

+0

React with Laravelを使用する理由は何ですか? – Gijsberts

+0

ビューには、表のような特定のコンポーネントがあるため、あらゆる種類のJavaScript/Ajaxベースのアクションが実行されます。 Reactが作成するDOMバインディングと構造が好きです。たとえば、jQueryのように、DOMを検索してイベントハンドラをバインドする代わりに、コンポーネントをそこから削除します。だから私はページ上にJSコンポーネントのアイディアが好きです。しかし、SPA + APIを使用すると、過度の使用感があります。 – Floris

+2

個人的に私は決してLaravelプロジェクトでReactを使ったことはありませんでしたが、私は実際にVueを使っていました。 Vueは新鮮なプロジェクトに統合され、そのまますぐに使用できます。また、Vueは「インラインテンプレート」と呼ばれるものを提供しています。あなたはそれをチェックアウトする必要があります。 – Gijsberts

答えて

0

ちょうどそれを行うpackageがあります。

ただし、フロントエンドとバックエンドを完全に分離すると、より良い方法になると主張します。したがって、Laravelを使用してREST APIエンドポイントを使用してデータを提供し、Reactアプリケーションを使用してすべてを表示することができます。

このようにすれば、それらは疎結合になり、他のものを交換したい場合(例えば、React for Angularを交換する)、apiのエンドポイントがまったく変更する必要がないため、ずっと簡単です。

EDIT:ヘッドレス(pantheon.ioから取られた)CMSのいくつかの利点:

完全 ブラウザにユーザーエクスペリエンスの責任をずらすことにより、ヘッドレスモデルは、多くの利点を提供します。

  • 値:将来のウェブサイトの実装を保証します。 CMSを再実装せずにサイトを再設計する
  • フロントエンドを設定します開発者は バックエンドの規則と構造から解放されます。ヘッドレス開発 は、「div-itis」を排除するだけでなく、ネイティブツールを使用してフロントエンドの専門家全員に のユーザーエクスペリエンスを制御します。
  • 表示ロジックをクライアント側の に変更し、バックエンドを合理化することで、サイトを高速化します。 コンテンツを配信することに重点を置いたアプリケーションは、複雑なルールに基づいて完全に という形式の応答を組み立てるアプリケーションよりもはるかに応答性が高くなります。
  • あなたのウェブサイトを使用して完全に 機能のブラウザ内アプリケーションをパワーアップすることにより、ユーザーのために対話的な体験を実現します( )。バックエンドは レコードと "ステートマシン"のシステムになりますが、ブラウザ内では前後のやり取りがリアルタイムで発生します

はまた、あなたがウェブアプリを反応させるのと同じ基本的なコードベースを使用するネイティブに反応使用してモバイルアプリを構築したいとしましょう。デカップリングされたCMSを使用している場合、バックエンドはデータのみを提供しているので、コンテンツタイプ、レスポンスフォーマットなどを気にせずに、Webアプリケーションとモバイルアプリの両方からこのバックエンドにコールすることができます。モバイルアプリとウェブアプリとで同じリアクションコードベースを使用することができ、一部のビューを変更するだけで済みます。

これは、モジュール性の向上と懸念の分離を伴うコードの再利用に最適です。

+0

しかし、疎なReactコンポーネントを持つMVCと比較して、SPA + APIを持つ利点は何ですか。もし私が望むなら、私はまだそれらのリアクションコンポーネントをアングルコンポーネントと置き換えることができます。このようにして、WebアプリケーションはJavaScriptなしでも基本的に非常に機能することができます。それで、それは進歩的な強化のアイデアをサポートします。 – Floris

+0

ヘッドレスCMSのメリットを示すために私の答えを更新しました。 – user3574492

+0

@Floris 'ウェブアプリケーションはまだJavaScriptなしでは基本的に機能することができますが、Reactコンポーネントを使用してJavaScriptをどちらかの方法で使用したいのですか? – user3574492

関連する問題