反応基1(JSX/Router)
Reactはフロントエンド開発用JavaScriptオープンソースライブラリ
3種類の反応プログラム設計特徴
✅ JSXを使用して1つのファイルに
✅ 構成部品に分離する独立した高再利用可能な開発*保守性Up
JSX
JSXはJavaScriptを拡張した構文ですが、ブラウザがすぐに実行できるJavaScriptコードではありません.
BaelはJSXをJavaScriptにコンパイルします.
JSXルール
<div>
<div>first element</div>
<div>second element</div>
</div>
className
(classと表記されている場合にJavaScriptのclassと認識する)<div className=”class”>content</div>
バインディングfunction App(){
const messgae1 = 'React 바인딩';
const message2 = () => {return '{}을 사용';}
return (
<div className="myClass">
<p>{message1}은 {message2}한다.</p>
</div>
);
}
function MyComponent(){
return <div>My Component</div>;
}
function App(){
return <MyComponent />;
}
<div>
{
(conditon === true)? <p>True</p>:<p>False</p>
}
</div>
複数のHTMLセグメントを表示する場合はconst students = [
{ id : 1, name : 'Jang', grade : 'B'},
{ id : 2, name : 'Kim', grade : 'A'},
{ id : 3, name : 'Park', grade : 'C'},
// ...
{ id : 100, name : 'Lee', grade : 'B'}
];
function StudentList() {
const studentList = students.map((student) => (
<div key={student.id}>
<h3>{student.name}</h3>
<p>{student.grade}</p>
</div>
));
return <div className="post-wrapper">{studentList}</div>;
}
✅ map 메서드의 결과를 return문의 인라인으로 처리할 지 변수로 추출할지는 개발자가 판단할 몫!
構成部品1つの機能の複数のコードセット
React複数のコンポーネントを組み合わせたアプリケーションの作成
構成部品関係はツリー構造
コンポーネント開発の利点
応答では、ブラウザのDOMにアクセスすることによって変化を反映するのではなく、仮想DOMに一度レンダリングし、既存のDOMと比較することによって変化が必要な場所だけをレンダリングするため、従来の方法よりもパフォーマンスが優れています.
SPA(Single Page Application)
バージョンから1ページの応答を受信し、クライアントで画面を整理する方法
クライアントはサーバからデータ(JSON)を要求し、応答を受けたデータで画面をリフレッシュする
サーバでは、複数のクライアントがリクエストを発行すると、ページは生成されず、リクエストデータのみが返されるため、負荷が小さい
SPAの欠点
Wireframe
Wireframeは、デザインに入る前にライン(wire)で輪郭(frame)をキャプチャするステップです.
木業(mockup)デスクトップやスマートフォンなどのフレームワークを追加することで、直感的に分かりやすい
React Router
npmでReact Router DOMをインストールする
npm install [email protected]
ルート(Routing):パスに従ってビューが変化するプロセスReact Routerキー構成部品
import {BrowserRouter, Switch, Route, Link} from "react-router-dom";
使用にインポート✅ 使用例
function App() {
return (
<BrowserRouter>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">MyPage</Link>
</li>
<li>
<Link to="/dashboard">Dashboard</Link>
</li>
</ul>
</nav>
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route path="/about">
<MyPage />
</Route>
<Route path="/dashboard">
<Dashboard />
</Route>
</Switch>
</div>
</BrowserRouter>
);
}
function Home() {
return <h1>Home</h1>;
}
function MyPage() {
return <h1>MyPage</h1>;
}
function Dashboard() {
return <h1>Dashboard</h1>;
}
export default App;
Reference
この問題について(反応基1(JSX/Router)), 我々は、より多くの情報をここで見つけました https://velog.io/@jus1234/React-기초1JSX-Routerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol