当前位置: 首页 > news >正文

江苏昨天出大事宁波正规seo推广

江苏昨天出大事,宁波正规seo推广,网站优化外包,网站建设征求意见1.路由安装(默认安装最新版本6.15.0) npm i react-router-dom 2.路由模式 有常用两种路由模式可选:HashRouter 和 BrowserRouter。 ①HashRouter:URL中采用的是hash(#)部分去创建路由。 ②BrowserRouter:URL采用真实的URL资源,…

1.路由安装(默认安装最新版本6.15.0)

npm i react-router-dom

2.路由模式

有常用两种路由模式可选:HashRouter 和 BrowserRouter。

①HashRouter:URL中采用的是hash(#)部分去创建路由。

②BrowserRouter:URL采用真实的URL资源,无#。

3.常用路由组件和hooks

注意:

v5版本路由是模糊匹配,需加关键字exact和Switch实现精准匹配。

v6版本路由算法改变,默认就是精确匹配(匹配完整路径),如果想匹配某一部分,在路径后加"/*"

例如:

<Route path="/home/:id" element={<Home />}/>
则匹配
path = "/home/123"
path="/home/abc"
<Route path="/citylist/*" element={<CityList />}/>
则匹配
path="/citylist"
path="/citylist/123/abc"

在v6中Route能够找到最优路径,并不需要像v5讲究先后顺序。

4.<Link/><NavLink/>类似于a标签

老版本v5中NavLink可以设置激活状态时的样式,他有一个activeClassName或activeStyle。

新版本v6中NavLink可以移除了老版本activeClassName或activeStyle,他有一个箭头函数,接收isActive,<Link/>可以跳转但是不能使用以下方式激活样式

import React from 'react'
import "./App.css"
import {NavLink}from "react-router-dom"function App() {return (<div className="App">
{/* 自动会传入isActive,要解构出来,判断是否选中,如果选中追加样式*/}
<NavLink className={({isActive})=>isActive?"active":""} to="/citylist">去城市列表</NavLink>
<NavLink className={({isActive})=>isActive?"active":""} to="/home">去首页</NavLink>//style书写方式
<NavLink style={({isActive})=>{
return {
color:isActive?"red":"black"
}
} to="/home">去首页</NavLink></div>);
}export default App;

效果如下:

5.新老版本重定向

老版本:<Redirect to="/login" />

新版本:使用Navigate 进行重定向<Route path="/" element={<Navigate to="/home" />/>,相当于push,会有历史记录,如果<Route path="/" replace element={<Navigate to="/home" />/>使用replace,无历史记录。

6.路由出口与占位(<Outlet/>),不做过多赘述。

7.useRoutes声明式的路由

①.index.js文件引入并使用

import React from 'react';
import ReactDOM from 'react-dom/client';
// import './index.css';import App from './App';
// 1.引入BrowserRouter路由模式
import {BrowserRouter  } from 'react-router-dom'const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<React.StrictMode>{/* 2.使用 */}<BrowserRouter ><App /></BrowserRouter ></React.StrictMode>
);

②router->index.js文件

const OutRoutes=()=>{const routes=useRoutes([{path:"/home",element:<Home/>,// home组件内使用Outlet添加出口,以显示子组件内容,// 注意:子组件不需加绝对路径"/",否则会报错,使用相对路径children:[{path:"detail",element:<Detail/>}]  },{path:"/citylist",element:<CityList/>},
//* 404页面,匹配不符合路径{path:"*",element:<NotFound/>}])return routes
}export default OutRoutes

③App.js文件


import React, { Suspense } from 'react'
import IndexRouter from "./router"
function App() {return (<div className="App">{/* 使用路由懒加载,渲染页面的时候可能会有延迟,但使用了Suspense之后,可优化交互。 */}{/* 注意:<IndexRouter></IndexRouter>要用标签的形式,因为他是组件 */}<Suspense><IndexRouter></IndexRouter></Suspense></div>);
}export default App;

8.编程式的路由

老版本:

类组件:this.props.history.push("/home")

函数组件:useHistory()

新版本:

useNavigate()

import React from 'react'
import { Link,useNavigate } from 'react-router-dom'export default function CityList() {const naviate = useNavigate();const jump=()=>{naviate("/home/detail");//push的方式// naviate("/home/detail",{replace:true})replace方式}return (<div>城市列表<Link to="/home">去home页面</Link><button onClick={()=>jump()}>跳转</button> </div>)
}

9.路由跳转,参数携带以及获取路由参数的三种方式

// push跳转的三种携带参数方式
// 1.携带params参数
Navigate(`/home/c1/${id}/${title}`)  ==>     useParams()
//2.携带search参数
Navigate(`/home/c1?id=${id}&title=${title}`) ==> useSearchParams()
//3.携带state参数
Navigate("/home/c1",{state:{id,title}}) ==>  useLocation()//replace跳转的三种携带参数方式
// 1.携带params参数
Navigate(`/home/c1/${id}/${title}`,{replace:true})
// 2.携带search参数
Navigate(`/home/c1?id=${id}&title=${title}`,{replace:true})
//3.携带state参数
Navigate("/home/c1",{state:{id,title},replace:true})

注意:新版本类组件如果想获取以上三种获取参数的方式,要么使用函数组件,要么使用高阶组件。

http://www.khdw.cn/news/39659.html

相关文章:

  • 建设银行网站查询余额外包公司怎么赚钱
  • 搜狐网站建设网站建设有多少公司
  • 如何在手机上做网站学会计哪个培训机构比较正规
  • 网站内容采编怎么做广州推广工具
  • 网站建设 目的互联网seo是什么
  • 武汉seo结算seo免费优化工具
  • 网站服务器的采购方案惠州抖音seo
  • 珠海网站百度网址大全旧版
  • 做网站用微软雅黑引擎搜索是什么意思
  • 公司建设网站成果预测友情链接交换形式有哪些
  • 大连网站建设 领超最好查询网138网站域名
  • php做网站为什么比java快seo优化运营
  • 提供网站建设工具的品牌百度seo公司
  • 商城建站服务品牌推广和品牌营销
  • 优秀网站要素北京全网营销推广
  • 江西网站设计哪家靠谱steam交易链接怎么用
  • 宣威网站建设泉州关键词快速排名
  • 自己如何做电影网站怎么建网站详细步骤
  • 境外网站开发市场营销策略有哪4种
  • 网站站建设建设中页中页软件外包公司排行榜
  • 运城网站建设多少钱策划方案网站
  • web应用程序和网站的区别网络推广培训班
  • 做招聘网站需要人力资源许可网络黄页推广大全
  • 洛阳网站建设网站建设竞价排名深度解析
  • wordpress无法编辑文章中国seo排行榜
  • 网站后台有些不显示天津关键词排名推广
  • 通用网站建设需求分析seo的定义是什么
  • 南阳网站推广费用上海优化公司选哪个
  • 建站之星快速建站价格域名邮箱 400电话
  • 网站怎么做才有收录google搜索引擎入口网址