web-dev-qa-db-ja.com

React.jsではアプリが単一ページである必要がありますか

React.jsを使用していますが、私の質問は簡単です。Reactを使用する場合、アプリはシングルページアプリである必要がありますか?

いいえの場合次に、それらの外部のコンポーネントをどのように制御しますか? FLUXによって?他の標準的な方法はありますか?

はいの場合次に、Reactのクライアント側で権限/アクセス検証を実行するためのライブラリはありますか?

どうもありがとう!

18
Dmitry Istomin

反応アプリケーションは、単一ページのアプリケーションである必要はありません。 Reactは、特定のレンダリングロジックを持つクラスの観点からHTMLをモデル化する方法を提供しますが、シングルページとマルチページのような特定のアプリケーションロジックを強制しません。

残りの質問を理解したかどうかはよくわかりませんが、基本的にはreactアプリケーションをマルチページアプリとしてモデル化する方法を求めていると思います。多くの方法がありますが、1つは次のようにファイルを構造化することです。

./app --> main page for your app
    ./app/page1/ --> page 1 of your app
    ./app/page2/ --> page 2 of your app
    ...

このように、各「ページ」には自己完結型の反応プロジェクトが含まれます。メインアプリケーションページには、これらのページをロードするハイパーリンクを含めることも、JavaScriptコードで非同期にロードすることもできます。

編集:コメントで明確にされた質問はページでの何らかのアクションにより、コンポーネントをどのように反応させるか

react component Breact component Aに含まれていると言います。ユーザーがbutton Bに含まれるreact component Bを押し、押されたときにcallback Breact component Bを呼び出します。このクリックにより、react component Aで何らかのアクションがトリガーされます。 callback Bは何らかの形でreact component Aに変更があったことを通知する必要があります。

ここで、何をするかを選択できます。 react component Breact component Aがリッスンする変更を送信(およびそれに応じて再レンダリング)することも、FLUXモデルを使用することもできます。 FLUXモデルでは、react component Bがいくつかの状態ストアに状態変更を発行し、イベントの発行をトリガーします。 react component Aは、このイベントのイベントコールバックを設定する必要があり、react component Bがそれを発行すると、react component Aがそれに応答できます。

16
nmio