SPA(Single Page Application)
9868 ワード
ページ切り替え
react-router-domを使用してクライアント側ルーティングを試みます.
ページが切り替え不可能な単一ページアプリケーションであっても、アドレスウィンドウが変換されていることがわかります.
なぜスパを使うのですか?
名前の通り、1ページしかないアプリケーションを意味します.
従来のWebアプリケーション構造は、複数のページから構成されています.ユーザーはページを要求するたびにリフレッシュし、ページをロードするたびにサーバからリソースを受信して解析とレンダリングを行います.サーバは、HTMLファイルまたはテンプレートエンジンを使用してアプリケーションビューを表示する方法を担当します.
<質問>
現在、Web上で提供されている情報は非常に多いため、速度の面でいくつかの問題があり、キャッシュと圧縮によってこれらの問題を解決することは、ユーザーとインタラクションの多い現代のWebアプリケーションでは十分ではない可能性があります.サーバ側はレンダリングを担当します.これは、サーバリソースがレンダリングに使用され、不要な通信も浪費されることを意味します.
<ソリューション>
[再生](Playback)などのライブラリやフレームワークを使用して、ユーザーのブラウザにビューのレンダリングを担当させ、まずアプリケーションをブラウザにロードし、本当に必要なデータだけを受信します.
1ページに1つの画面しかないわけではありません.
たとえば、ブログを作成した場合、文章のリスト、文章、文章などの画面がある場合は、画面に基づいてアドレスを作成する必要があります.アドレスがあってこそ、ユーザーがブックマークをすることができ、グーグルを通じてサービスに入ることもできるからだ.
異なるアドレスに基づいて異なるビューを表示することをルーティング選択と呼ぶ.
リトラクト自体にはこの機能は含まれていません.
したがって、ブラウザのAPIを使用してステータスを設定して、異なるビューを表示する必要があります.
react-routerはサードパーティ製ライブラリです.式ではありませんが(フェイスブック式ルーティングライブラリは存在しません).最も一般的なリポジトリ.このライブラリはクライアントのルーティングを簡素化します.さらに、サーバサイトのレンダリングを支援するツールもそろっています.
また、このルータはreact-ネイティブにも使用できます.
複数の画面からなるWebアプリケーションを作成する場合は、react-routerが必要なライブラリです.
*SPAのデメリット
アプリケーションの規模が大きいほど、JavaScriptファイルのサイズが大きくなります.
これは、ユーザーが実際にアクセスしない可能性のあるページに関連付けられたスクリプトもロードされるためです.
react-router-domの使用
npm install react-router-dom
yarn add react-router-dom
SignUp.js import React from "react";
import { Link } from "react-router-dom";
const SignUp = () => {
return (
<div className="body">
<div className="stage">
<div>
계정이 있으신가요? <Link to="/">로그인</Link>
</div>
</div>
</div>
);
};
export default SignUp;
SignUp.js import React from "react";
import { Link } from "react-router-dom";
const SignIn = () => {
return (
<div className="body">
<div className="stage">
<div>
Don't have an account?
<Link to="/SignUp">Sign up</Link>
</div>
</div>
</div>
);
};
export default SignIn;
App.jsimport React from "react";
import SignUp from "./components/SignUp";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import SignIn from "./components/SignIn";
function App() {
return (
<Router>
<Switch>
<Route exact={true} path="/">
<SignIn />
</Route>
<Route path="/SignUp">
<SignUp />
</Route>
</Switch>
</Router>
);
}
export default App;
実装画面
注)https://velopert.com/3417
Reference
この問題について(SPA(Single Page Application)), 我々は、より多くの情報をここで見つけました https://velog.io/@junhyeok/SPAテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol