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

重庆网站建设网站制作wordpress换菜单样式

重庆网站建设网站制作,wordpress换菜单样式,手机网站建设的重要性,沈阳营销网站建设一、路由安装 路由官网2021.11月初#xff0c;react-router 更新到 v6 版本。使用最广泛的 v5 版本的使用 npm i react-router-dom5.3.0二、路由使用 2.1 路由的简单使用 第一步 在根目录下 创建 views 文件夹 ,用于放置路由页面 films.js示例代码 export default functio…一、路由安装 路由官网2021.11月初react-router 更新到 v6 版本。使用最广泛的 v5 版本的使用 npm i react-router-dom5.3.0二、路由使用 2.1 路由的简单使用 第一步 在根目录下 创建 views 文件夹 ,用于放置路由页面 films.js示例代码 export default function Films() {return divfilms/div } 第二步 在根目录下 创建router文件夹,并新建indexRouter.js文件 用来管理路由 indexRouter.js 页面示例代码 //1.引入 hashrouter import { HashRouter, Route } from react-router-domimport { Component } from react//2.引入组件 import Films from ../views/films import Cinemas from ../views/cinemas import Center from ../views/center export default class IndexRouter extends Component {render() {return (//3 使用HashRouterRoute path/films component{Films}/RouteRoute path/cinemas component{Cinemas}/RouteRoute path/center component{Center}/Route/HashRouter)} }第三步 在App.js中 引入indexRouter App.js中示例代码 import IndexRouter from ./router/indexRouter export default function App() {return (divIndexRouter/IndexRouter/div) } 第四步 在入口文件index.js中渲染页面 index.js示例代码 import React from reactimport ReactDom from react-dom/clientimport App from ./App.jsReactDom.createRoot(document.querySelector(#root)).render(App/App)2.2 路由的重定向 第一步 引入Redirect import { HashRouter, Route, Redirect } from react-router-dom第二步 使用 (模糊匹配) 默认模糊匹配 export default class IndexRouter extends Component {render() {return (//3 使用HashRouterRoute path/films component{Films}/RouteRoute path/cinemas component{Cinemas}/RouteRoute path/center component{Center}/Route{/* 路由的重定向 模糊匹配*/}Redirect from/ to/films/Redirect/HashRouter)} }2.3 路由Switch组件与404页面 Switch组件 包裹 Route 组件只会渲染第一个匹配的组件即使有多个路由都可以匹配成功 在实际开发时通常会用 Switch 组件包裹 Route 组件通过 Switch 组件非常容易的就能实现 404 页面功能 需引入 import { HashRouter, Route, Redirect, Switch } from react-router-dom//switch 包裹router标签SwitchRoute path/films component{Films}/Route....中间省略....{/* 404页面 */}Route component{NotFound}/Route/Switch404 页面实现 1.views目录下新建notFound.js 2.路由indexRouter.js中引入 import NotFound from ../views/notFound3.使用 HashRouter SwitchRoute path/films component{Films}/RouteRoute path/cinemas component{Cinemas}/RouteRoute path/center component{Center}/Route{/* 路由重定向 精确匹配 exact 必须外边用Switch标签包裹 */}Redirect from/ to/films exact/Redirect{/* 404页面 */}Route component{NotFound}/Route /Switch2.4 路由嵌套 必须一级路由是模糊匹配!!!1.新建二级路由页面,并在一级路由页面引入2.一级路由页面配置路由信息一级路由示例代码 //引入switch route import { Switch, Route, Redirect } from react-router-dom//引入 import One from ./films/one import Two from ./films/two export default function Films() {return (divfilmsSwitchRoute path/films/one component{One}/RouteRoute path/films/two component{Two}/Route{/* 重定向 */}Redirect from/films to/films/one/Redirect/Switch/div) }2.5 声明式导航与编程式导航 2.5.1 声明式导航 通过 a链接 进行跳转 //需加 #a href#/center我的/a通过NavLink 进行跳转 //1.引入 import { NavLink } from react-router-dom....NavLink to/center我的/NavLink2.5.2 编程式导航 核心代码 import axios from axios import { useState, useEffect } from react import { useHistory } from react-router-dom export default function Tabbar(props) {console.log(打印props, props)let history useHistory() //将useHistory()钩子赋值给history方便使用const [list, setList] useState([])useEffect(() {axios.get(http://localhost:3000/data.json).then((res) {console.log(接口请求成功, res)setList(res.data.tabs)}).catch((err) {console.log(接口请求失败, err)})}, [])const toDetails (id) {console.log(编程式导航, id)// 原生js 跳转// window.location.href http://localhost:3000/#/cinemashistory.push(/detail/${id})}return (h1编程式导航/h1ul{list.map((item, index) (li key{item.id} onClick{() toDetails(item.id)}{item.name}/li))}/ul/) } 2.6 路由传参 2.6.1 动态路由传参 核心代码 传递参数页面 import axios from axios import { useState, useEffect } from react import { NavLink, useHistory } from react-router-dom export default function Tabbar(props) {console.log(打印props, props)let history useHistory() //将useHistory()钩子赋值给history方便使用const [list, setList] useState([])useEffect(() {axios.get(http://localhost:3000/data.json).then((res) {console.log(接口请求成功, res)setList(res.data.tabs)}).catch((err) {console.log(接口请求失败, err)})}, [])const toDetails (id) {//1.history.push跳转传参history.push(/detail/${id})}return (ul{list.map((item, index) (li key{item.id} onClick{() toDetails(item.id)}{item.name}/li))}/ul/) } 路由页面 {/* 详情 :myid接参占位 */} {/* history.push跳转传参 */} Route path/detail/:myid component{Detail}/Route 接参页面 export default function Detail(props) {// history.push跳转传参console.log(详情, props.match.params.myid)return div详情页面/div } 2.6.2 state传参 传递参数页面 import axios from axios import { useState, useEffect } from react import { useHistory } from react-router-dom export default function Tabbar(props) {console.log(打印props, props)let history useHistory() //将useHistory()钩子赋值给history方便使用const [list, setList] useState([])useEffect(() {axios.get(http://localhost:3000/data.json).then((res) {console.log(接口请求成功, res)setList(res.data.tabs)}).catch((err) {console.log(接口请求失败, err)})}, [])const toDetails (id) {//state传参history.push({ pathname: /detail, state: { myid: id } })}return (ul{list.map((item, index) (li key{item.id} onClick{() toDetails(item.id)}{item.name}/li))}/ul/) } 路由配置 Route path/detail component{Detail}/Route接参页面 export default function Detail(props) {//第二种传参console.log(第二种传参, props.location.state.myid)return div详情页面/div2.7 路由拦截 需求:没有token(未登录) 跳转到登录页面1.定义函数 用于返回本地是否有token isLogin() {console.log(是否登录, localStorage.getItem(token))return localStorage.getItem(token)}2.创建登录页 并路由引入配置登录页 {/* 登录页面 */}Login path/login component{Login}/Login3.在需要判断的页面路由上 动态判断 //是否登录 登录跳转至该页面 未登录 重定向登录页面 Route path/center render{() this.isLogin() ? Center / : Redirect to/login/Redirect}/Route2.8 路由模式 1.哈希模式 路径带# HashRouter2.BrowserRouter 路径没有# 真正朝后端发请求 //引入BrowserRouter import {BrowserRouter as Router, } from react-router-dom... //使用 RouterSwitch...路由.../Switch /Router
http://wiki.neutronadmin.com/news/236915/

相关文章:

  • 如何搭建微网站久久建筑有限公司
  • 合肥专业做网站公司有哪些wordpress用户注册地址
  • 好看响应式网站模板学广告设计学费是多少
  • 昆明云南微网站搭建all in one wordpress
  • 遂溪网站建设公司正确的网址格式怎么写
  • 网站建设各个模块的功能中国企业网是国企吗
  • 钛钢饰品网站建设网页模板好的网站好
  • 应聘网站运营建设面试影视后期制作培训机构全国排名
  • 网站开发制作全包网站图片缩略图
  • 上海网站开发公司网站建设中 模版下载
  • 网站平台代理百度seo搜搜
  • 做网站用什么语哪里有制作网站
  • 建设网站需要注意的事项企业网站空间选择
  • 网站服务器租用价格怎么算海口网站制作公司
  • 商品图片网站开发网页设计师工资一般多少钱
  • 网站搭建技术方案广告优化是做什么的
  • 网站建设这门课好学吗大石桥网站建设公司
  • dede后台做两个网站深圳银行网站建设
  • dedecms 网站标题 设置宿迁558网络专业做网站
  • wordpress 4.9 多站php 网站安装原理
  • 成年男女做羞羞视频网站网站做的好看术语
  • 江西网站开发联系方式wordpress网站换字体
  • 领优惠券的小网站怎么做室内设计师在哪里找
  • 做网站花钱么wordpress 中英双语
  • 杭州网站建设推广公司加盟微信小程序代理
  • 做封面字体下载好的网站html5个人网页完整代码
  • 东莞网站设计流程wordpress给模板添加title
  • 招标网站建设申请报告丽水网站建设企业
  • 成都门户网站有哪些成品影视app开发工具
  • 山东临沂市需要建设网站的公司哪些网站做推广