210709 React Router(2)
9311 ワード
別のファイルで詳細ページをコンパイルするには、次の手順に従います。
詳細コンポーネントを取得するために、
src
フォルダの下にdetail.js
を作成します./* detail.js */
import React, {useState} from 'react';
function Detail(){
return(
<div className="container">
<div className="row">
<div className="col-md-6">
<img src="https://codingapple1.github.io/shop/shoes1.jpg" width="100%" />
</div>
<div className="col-md-6 mt-4">
<h4 className="pt-5">상품명</h4>
<p>상품설명</p>
<p>120000원</p>
<button className="btn btn-danger">주문하기</button>
</div>
</div>
</div>
)
}
export default Detail; // detail을 export 하겠다는 의미!
index.js
からimport
まで、そして同じように使えばいい!import Detail from './detail.js';
..
<Route path="/detail">
<Detail/>
</Route>
ボタン(Link,History)に移動
<Nav.Link> <Link to="/">Home</Link></Nav.Link>
<Nav.Link> <Link to="/detail">Detail</Link></Nav.Link>
「≪詳細ページに戻る|Back to Details Page|emdw≫」ボタンの作成
useHistory
というフックを使用します.(インポート後に使用)importコード:
import { useHistory } from 'react-router-dom';
変数宣言コード:let history = useHistory();
アクセス履歴等のobjectの保存<button className="btn btn-danger" onClick={()=>{history.goBack()}}>뒤로가기</button>
ボタンを押してgoBack()関数を書けばいいのです特定のパスに移動するには
<button className="btn btn-danger" onClick={()=>{history.push('경로')}}>뒤로가기</button>
switch
urlの重複マッチングは許可されません.一番上の1つを見たい時に使います
スイッチラベルですべてのルーターを包んでください.
以前に使用した
<Switch>
<Route></Route>
...
</Switch>
Reference
この問題について(210709 React Router(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@autumndr3ams/210709-React-Router2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol