--- title: 前端行動家 0421 tags: 前端行動家 --- :::info [🎯 回首頁](https://hackmd.io/@futurenest/frontend_all) ::: # 前端行動家共筆_0421class 👉 [程式碼下載](https://drive.google.com/drive/folders/13OSaVtm4HnQJ5ZcuSfae1R1ExOuHa_3i?usp=share_link) ### install ```base npm install react-router-dom@5.2.0 ``` ```javascript import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; ``` ### index.js ```javascript import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; // const root = ReactDOM.createRoot(document.getElementById('root')); // root.render( // <React.StrictMode> // <App /> // </React.StrictMode> // ); const container = document.getElementById('root'); const root = ReactDOM.createRoot(container); root.render(<App />); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals(); if(module.hot){ module.hot.accept(); } ``` ### App.js ```javascript import './App.css'; import { BrowserRouter as Router, Switch, Route} from "react-router-dom"; import Dashboard from './components/Dashboard'; import Settings from './components/Settings'; import Sidebar from './components/Sidebar'; import Visuallizations from './components/Visuallizations'; function App() { return ( <div> <Router> <Sidebar /> <hr /> <Switch> <Route exact path="/"><Dashboard/></Route> <Route path="/Settings"><Settings/></Route> <Route path="/Visuallizations"><Visuallizations/></Route> </Switch> </Router> </div> ); } export default App; ``` ### Dashboard.js ```javascript import React from "react"; function Dashboard(){ return ( <div className="dashboard"> <p> There is Dashboard </p> </div> ); } export default Dashboard; ``` ### Settings.js ```javascript import React from "react"; function Settings(){ return ( <div className="settings"> <p> There is Settings </p> </div> ); } export default Settings; ``` ### Visuallizations.js ```javascript import React from "react"; function Visuallizations(){ return ( <div className="visuallizations"> <p> There is Visuallizations </p> </div> ); } export default Visuallizations; ``` ### Sidebar.js ```javascript import React from "react"; import {Link} from "react-router-dom"; function Sidebar(){ return ( <div> <p> There is Sidebar </p> <ul> <li><Link to="/"> Dashboard </Link></li> <li><Link to="/Settings"> Setting </Link></li> <li><Link to="/Visuallizations"> Visuallizations </Link></li> </ul> </div> ); } export default Sidebar; ```