Installation method of react routing: 1. Install routing through "npm i react-router-dom@5.0 -S"; 2. Use "import { HashRouter as Router, Route, NavLink } from 'react-router -dom'" method to import routes.
#The operating environment of this tutorial: Windows 10 system, react-router-dom version 5.0, Dell G3 computer.
How to install react routing?
react routing installation and simple use
1.react installation routing
Installation: npm i react-router-dom@5.0 - S (The latest version is 6.0)
Import:
import { HashRouter as Router, Route, NavLink } from 'react-router-dom'
Routing configuration:
1. All routing related content should be placed in the
2. Link usage:
3. Page usage:
Example: Simple route jump
function App() { return (<Router> <div> //exact 精确匹配 <NavLink to='/' exact>首页</NavLink>| <NavLink to='/about' >关于</NavLink> </div> {/* 路由页面 */} <Switch> <Route path="/" exact component={Home}></Route> <Route path="/about" component={About}></Route> </Switch> </Router>) } export default App function Home() { return <div>首页页面</div> } function About() { return <div> 关于页面 </div> }
2. Route parameter transfer
Route parameter transfer form
1. Link parameter transfer
2. Parameter passing
3. Parameter acquisition props.match.params.id
Commonly used historical operation methods
1.go()History jump record
2.goBack(return)
3.push()Add record jump
4.replace() replaces the record and jumps
Example:
import { HashRouter as Router, Route, NavLink, Redirect, Switch, Prompt, Link } from 'react-router-dom' // NavLink 会比 link自动添加一个active的class function App() { return (<Router> <div> <NavLink to='/' exact>首页</NavLink>| <NavLink to='/about' >关于</NavLink> <NavLink to='/produce/abc'>产品abc</NavLink> <NavLink to='/produce/123'>产品123</NavLink> </div> {/* 路由页面 */} <Switch> <Route path="/" exact component={Home}></Route> <Route path="/about" component={About}></Route> <Route path="/produce/:id" component={Produce}></Route> </Switch> </Router>) } export default App function Produce({ match, history, location }) { // console.log(match); return (<div> <h1 id="产品-match-params-id">产品{match.params.id}</h1> <button onClick={() => history.goBack()}>返回</button> <button onClick={() => history.push('/')}>回到首页</button> </div>) } function Home() { return <div>首页页面</div> } function About() { return <div>关于页面 </div> }
Sub-route parameter passing
Example:
// 导入路由相关组件 // 导入哈希路由 别名router // Route路由页面 // NvaLink 导航链接 import { HashRouter as Router, Route, NavLink, Redirect, Switch, Prompt, Link } from 'react-router-dom' // NavLink 会比 link自动添加一个active的class function App() { return (<Router> <div> <NavLink to='/' exact>首页</NavLink>| <NavLink to='/about' >关于</NavLink> <NavLink to='/produce/abc'>产品abc</NavLink> <NavLink to='/produce/123'>产品123</NavLink> <NavLink to='/admin'>管理</NavLink> </div> {/* 路由页面 */} <Switch> <Route path="/" exact component={Home}></Route> <Route path="/about" component={About}></Route> <Route path="/produce/:id" component={Produce}></Route> <Route path="/admin" component={Admin}></Route> </Switch> </Router>) } export default App function NoMatch({ location, history }) { return (<div> <h1 id="">404</h1> <p>你爹来咯</p> <p>{location.url}</p> <button onClick={history.goBack}>后退</button> <NavLink to={{ pathname: "/" }}>首页</NavLink> </div>) } function Admin() { return (<div style={{ "display": "flex" }}> <div style={{ width: "200px", boderRight: "1px solid #f0f0f0" }}> <NavLink to="/admin/dash">概览</NavLink><br /> <NavLink to="/admin/orderlist">列表</NavLink> </div> <div> <Route path="/admin/dash" component={Dash}></Route> <Route path="/admin/orderlist" component={OrderList}></Route> <Redirect path='/admin' to="/admin/dash"></Redirect> </div> </div>) } function Dash() { return (<div> 概览 </div>) } function OrderList() { return (<div> 订单列表 </div>) } function Produce({ match, history, location }) { // console.log(match); return (<div> <h1 id="产品-match-params-id">产品{match.params.id}</h1> <button onClick={() => history.goBack()}>返回</button> <button onClick={() => history.push('/')}>回到首页</button> </div>) } function Home() { return <div>首页页面</div> } function About() { return <div>关于页面 </div> }
Recommended learning :《react video tutorial》
The above is the detailed content of How to install react routing. For more information, please follow other related articles on the PHP Chinese website!

Using ID selectors is not inherently bad in CSS, but should be used with caution. 1) ID selector is suitable for unique elements or JavaScript hooks. 2) For general styles, class selectors should be used as they are more flexible and maintainable. By balancing the use of ID and class, a more robust and efficient CSS architecture can be implemented.

HTML5'sgoalsin2024focusonrefinementandoptimization,notnewfeatures.1)Enhanceperformanceandefficiencythroughoptimizedrendering.2)Improveaccessibilitywithrefinedattributesandelements.3)Addresssecurityconcerns,particularlyXSS,withwiderCSPadoption.4)Ensur

HTML5aimedtoimprovewebdevelopmentinfourkeyareas:1)Multimediasupport,2)Semanticstructure,3)Formcapabilities,and4)Offlineandstorageoptions.1)HTML5introducedandelements,simplifyingmediaembeddingandenhancinguserexperience.2)Newsemanticelementslikeandimpr

IDsshouldbeusedforJavaScripthooks,whileclassesarebetterforstyling.1)Useclassesforstylingtoallowforeasierreuseandavoidspecificityissues.2)UseIDsforJavaScripthookstouniquelyidentifyelements.3)Avoiddeepnestingtokeepselectorssimpleandimproveperformance.4

Classselectorsareversatileandreusable,whileidselectorsareuniqueandspecific.1)Useclassselectors(denotedby.)forstylingmultipleelementswithsharedcharacteristics.2)Useidselectors(denotedby#)forstylinguniqueelementsonapage.Classselectorsoffermoreflexibili

IDsareuniqueidentifiersforsingleelements,whileclassesstylemultipleelements.1)UseIDsforuniqueelementsandJavaScripthooks.2)Useclassesforreusable,flexiblestylingacrossmultipleelements.

Using a class-only selector can improve code reusability and maintainability, but requires managing class names and priorities. 1. Improve reusability and flexibility, 2. Combining multiple classes to create complex styles, 3. It may lead to lengthy class names and priorities, 4. The performance impact is small, 5. Follow best practices such as concise naming and usage conventions.

ID and class selectors are used in CSS for unique and multi-element style settings respectively. 1. The ID selector (#) is suitable for a single element, such as a specific navigation menu. 2.Class selector (.) is used for multiple elements, such as unified button style. IDs should be used with caution, avoid excessive specificity, and prioritize class for improved style reusability and flexibility.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version
Visual web development tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version
Useful JavaScript development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment
