React Router 지원 Hooks, 정리 사용 방법
8864 단어 react-routerReact
개요
예제 코드
mkdir react-router-with-hook
cd react-router-with-hook
yarn init -y
yarn add react react-dom react-router-dom
touch index.html index.js
index.html<div id="root"></div>
<script src="./index.js"></script>
index.jsimport React from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter as Router,
Route,
Switch,
useParams,
useHistory,
useLocation,
} from 'react-router-dom';
function Hello() {
const history = useHistory();
return (
<div>
<h1>Hello</h1>
<button
onClick={() => history.push('/hello/react-router?message=hooks#test')}
>
Next
</button>
</div>
);
}
function HelloSomeone() {
const history = useHistory();
const location = useLocation();
const { name } = useParams();
return (
<div>
<h1>Hello {name} !</h1>
<p>pathname: {location.pathname}</p>
<p>search: {location.search}</p>
<p>hash: {location.hash}</p>
<button onClick={() => history.goBack()}>Go Back</button>
</div>
);
}
function App() {
return (
<Router>
<Switch>
<Route path="/" exact>
<Hello />
</Route>
<Route path="/hello/:name" exact>
<HelloSomeone />
</Route>
</Switch>
</Router>
);
}
ReactDOM.render(<App />, document.getElementById('root'));
npx parcel-bundler ./index.html
코드 설명
useHistory
history
const history = useHistory()
history.push('/')
및 history.goBack()
등에서 사용useLocation
const location = useLocation()
location.path
및 location.search
등에서 사용useParams
<Route path="/hello/:name">
로 정의된 페이지에 액세스하는 경우const { name } = useParams();
이면 :name
부분의 값총결산
use-react-router
규격은 조금 다르지만 불협화음은 없는 것 같다Reference
이 문제에 관하여(React Router 지원 Hooks, 정리 사용 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ozaki25/items/bb0eb273611eebc603dd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)