[react]反応-router-domの適用
react-router-domとは
reactはSPA(Single Page Application)です.
react-router-domは、SPAが画面を切り替えるためのモジュールである.
簡単な入門
npm create-react-app react-router-tutorial
cd react-router-tutorial
npm react-router-dom
レスポンスファイルの設定
フォルダとファイルを以下のように構成してください.
src/index.js
Entry point
として指定されたファイル.import React from 'react';
import ReactDom from 'react-dom';
import Router from './router';
ReactDom.render(<Router />, document.getElementById('root'));
src/router/index.js
BrowserRouterタグを使用してルーティングを行います.
route
要素のpath
属性は、配線時にcomponent
属性の要素として表示される.exact
プロパティは、path
プロパティのパスと完全に一致している場合にのみ表示されます.import React from 'react';
import { BrowserRouter, Route } from 'react-router-dom';
import Menu from '../components/menu';
import Home from '../pages/home';
import Login from '../pages/login';
function index() {
return (
<BrowserRouter>
<Menu />
<Route exact path="/login" component={Login} />
<Route path="/" component={Home} />
</BrowserRouter>
);
}
export default index;
src/components/menu/index.js
SPAは
<a href="#">somewhere</a>
などのフォーマットを使用するべきではありません.a tag
はページ移動時にリフレッシュされるので、ここではa tag
ではなくreact-routerのLink
コンポーネントを使用します.import React from 'react';
import { Link } from 'react-router-dom';
function index() {
return (
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/login">login</Link>
</li>
</ul>
<hr />
</div>
);
}
export default index;
src/pages/home/index.js
画面遷移を表示する簡単なコンポーネントを作成します.
import React from 'react';
function index() {
return <div>home</div>;
}
export default index;
src/pages/home/index.js
import React from 'react';
function index() {
return <div>login</div>;
}
export default index;
アプリケーションの実行
/
パス/login
パスパスを直接入力し、移動時に
“Cannot GET /login”
と同様のエラーを返す場合は、 webpack.config.js
を変更します. devServer: {
historyApiFallback: true
},
従ってreact−router−domを簡単に適用した.詳細と詳細については、公式サイトを参照してください.お読みいただきありがとうございます:)https://reactrouter.com/web/guides/quick-start
Reference
この問題について([react]反応-router-domの適用), 我々は、より多くの情報をここで見つけました https://velog.io/@thyoondev/react-router-dom-적용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol