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

wordpress的网站国内网宁波seo网站推广软件

wordpress的网站国内网,宁波seo网站推广软件,wordpress指定404,contrast wordpress1. 什么是路由 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 以上是中文维基百科对路由的解释。通俗的来讲,把一个地方的信息传输到他想去的目的地的过程,就叫路由。 2. 用代码解释路由 需求&#xff1a…

1. 什么是路由

路由routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。

以上是中文维基百科对路由的解释。通俗的来讲,把一个地方的信息传输到他想去的目的地的过程,就叫路由。

2. 用代码解释路由

需求:页面上有2个按钮,分别是登陆和注册,点击登陆按钮,就切换到对应的登陆界面,点击注册按钮,就切换到对应的注册界面。

示例代码:

function Box1(){return <div className="box">登陆</div>
}function Box2(){return <div className="box">注册</div>
}function App() {let [n, setN] = useState(0)return (<div className="App"><div><button onClick={()=> setN(0)}>登陆</button><button onClick={()=> setN(1)}>注册</button></div><div>{ n % 2 === 0 ? <Box1 />:<Box2 />}</div></div>);
}const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

这个其实就是路由的雏形了,每个页面对应着一个组件,然后在不同状态下去切换 。

3. 新增的需求

提出需求:在分享该页面出去时,用户直接到达注册页面。(以上示例代码的首页是登陆界面)

3.1 修改 url 中的 hash

url 中 #(hash) 的含义
URL 的 hash 部分,指的是 # 后的部分
window.location.hash 可读取或写入 hash

function Box1() {return <div className="box">登录</div>;
}function Box2() {return <div className="box">注册</div>;
}function App() {//获取当前的hash值let hash = window.location.hash;let initUI = hash === "#signup" ? "注册" : "登录";let [ui, setUI] = useState(initUI);//切换页面时,改hashlet onClickLogin = () => {setUI("登录");window.location.hash = "login";};let onClickSignUp = () => {setUI("注册");window.location.hash = "signup";};return (<div className="App"><div><button onClick={onClickLogin}>登录</button><button onClick={onClickSignUp}>注册</button></div><div>{ui === "登录" ? <Box1 /> : <Box2 />}</div></div>);
}

#signup : 注册, 空或 #login: 登录。
不同的界面对应不同的字符串(hash),把用户送往其想到达的目的地,就是路由。

3.2 除了 hash 还能用什么

但是,地址栏上有这个 “#” 符号不太好看,能不能变好看点?

  • 直接修改 pathname ,但会刷新页面
不用
window.location.hash = "login";
而用
window.location.pathname = "/login";

我只是想切换个tab,页面就整个刷新了啊

  • 使用 window.history.pushState()
    可以不刷新页面而改变 pathname
window.history.pushState(null, '', '/login')
function App() {let path = window.location.pathname;let initUI = path === "/signup" ? "注册" : "登录";console.log(initUI);let [ui, setUI] = useState(initUI);let onClickLogin = () => {setUI("登录");window.history.pushState(null, "", "/login");};let onClickSignUp = () => {setUI("注册");window.history.pushState(null, "", "/signup");};return (<div className="App"><div><button onClick={onClickLogin}>登录</button><button onClick={onClickSignUp}>注册</button></div><div>{ui === "登录" ? <Box1 /> : <Box2 />}</div></div>);
}
3.3 三种方式的区别
  • window.location.hash (保险办法)
    可让 url 变化,同时不刷新页面
  • window.location.pathname
    会刷新页面,别用
  • window.history.pushState( , , ) (想好看用这个)
    不刷新页面,并改变 pathname
    建议:只有后端将所有路径都指向首页时,才使用这个API。

4. React Router

上面的代码存在着重大缺陷:

  • 如果 path 过多,代码就要写很多 if ... else
  • 路由有无限个,无法写

暂不考虑使用正则表达式。使用 React Router 来解决这些问题吧 : )
React Router,保持 UI 和 URL同步。

4.1 安装 React Router

使用命令行:

npm install react-router-dom

注意:
react-router: 实现了路由的核心功能。
react-router-dom: 基于react-router,加入了在浏览器运行环境下的一些功能。
写网站的时候一般引入 react-router-dom 就可以了

4.2 使用 React Router

建议查看的官网:react-router

import { BrowserRouter as Router, Switch, Link, Route } from "react-router-dom";function Home(){return <div className="box">首页</div>
}
function Login(){return <div className="box">登录</div>
}
function SignUp(){return <div className="box">注册</div>
}function App(){return(<div className="app"><Router><div className="nav"><Link to="/" className="link">首页</Link> | <Link to="/login" className="link">登录</Link> | <Link to="/signup" className="link">注册</Link></div><Switch><Route exact path="/"> <Home /></Route><Route path="/login"><Login /></Route><Route path="/signup"><SignUp /></Route></Switch></Router></div>)
}ReactDOM.render(<App />, document.getElementById('root'));


喜欢的朋友记得点赞、收藏、关注哦!!!


文章转载自:
http://dinncojura.ydfr.cn
http://dinncoventriloquy.ydfr.cn
http://dinncorebounder.ydfr.cn
http://dinncomarish.ydfr.cn
http://dinncovincaleukoblastine.ydfr.cn
http://dinncoveinulet.ydfr.cn
http://dinncoorthicon.ydfr.cn
http://dinncohydrologist.ydfr.cn
http://dinncoannectent.ydfr.cn
http://dinncotribulate.ydfr.cn
http://dinncoreinless.ydfr.cn
http://dinncoastoundment.ydfr.cn
http://dinncospinulescent.ydfr.cn
http://dinncoslap.ydfr.cn
http://dinncocodepage.ydfr.cn
http://dinncocytoid.ydfr.cn
http://dinncoparticipial.ydfr.cn
http://dinncosuntan.ydfr.cn
http://dinncoprecocial.ydfr.cn
http://dinncoblink.ydfr.cn
http://dinncocampaign.ydfr.cn
http://dinnconumerology.ydfr.cn
http://dinncomismanagement.ydfr.cn
http://dinncobladderwort.ydfr.cn
http://dinncocerebritis.ydfr.cn
http://dinncoinelasticity.ydfr.cn
http://dinncowvf.ydfr.cn
http://dinncoinventec.ydfr.cn
http://dinncometacomet.ydfr.cn
http://dinncodecimetre.ydfr.cn
http://dinncosubcollegiate.ydfr.cn
http://dinncosurfboard.ydfr.cn
http://dinncoelaterium.ydfr.cn
http://dinncozoologer.ydfr.cn
http://dinncosqueal.ydfr.cn
http://dinncofiend.ydfr.cn
http://dinncodyspnoea.ydfr.cn
http://dinncosurcoat.ydfr.cn
http://dinncototemic.ydfr.cn
http://dinncoextraditable.ydfr.cn
http://dinncoopuscule.ydfr.cn
http://dinncopossess.ydfr.cn
http://dinncomonostomous.ydfr.cn
http://dinncobiocycle.ydfr.cn
http://dinncoflandre.ydfr.cn
http://dinncogardening.ydfr.cn
http://dinncodopamine.ydfr.cn
http://dinncoorthonormal.ydfr.cn
http://dinncocirculatory.ydfr.cn
http://dinncofeatherstitch.ydfr.cn
http://dinncoforehead.ydfr.cn
http://dinncolammie.ydfr.cn
http://dinncovon.ydfr.cn
http://dinncouncinate.ydfr.cn
http://dinncoinfinite.ydfr.cn
http://dinncoauramine.ydfr.cn
http://dinncosalian.ydfr.cn
http://dinncohanded.ydfr.cn
http://dinncoague.ydfr.cn
http://dinncogradgrind.ydfr.cn
http://dinncosaurian.ydfr.cn
http://dinncolanceolated.ydfr.cn
http://dinncochowhound.ydfr.cn
http://dinncoequipage.ydfr.cn
http://dinncoskete.ydfr.cn
http://dinncometiculous.ydfr.cn
http://dinncocelloidin.ydfr.cn
http://dinncochitchat.ydfr.cn
http://dinncowinglike.ydfr.cn
http://dinncotrash.ydfr.cn
http://dinncoben.ydfr.cn
http://dinncotesseract.ydfr.cn
http://dinncosomniloquism.ydfr.cn
http://dinncospur.ydfr.cn
http://dinncoprogestational.ydfr.cn
http://dinncohematocyst.ydfr.cn
http://dinncoendomysium.ydfr.cn
http://dinncotriptych.ydfr.cn
http://dinncosammy.ydfr.cn
http://dinncojibe.ydfr.cn
http://dinnconhtsa.ydfr.cn
http://dinncoreligioso.ydfr.cn
http://dinncocorporation.ydfr.cn
http://dinncounsuitability.ydfr.cn
http://dinncomossbunker.ydfr.cn
http://dinncohalaphone.ydfr.cn
http://dinncobaremeter.ydfr.cn
http://dinncocola.ydfr.cn
http://dinncoschizogenetic.ydfr.cn
http://dinncocabrite.ydfr.cn
http://dinncoteleprompter.ydfr.cn
http://dinncokantist.ydfr.cn
http://dinncoantianginal.ydfr.cn
http://dinncovalidating.ydfr.cn
http://dinncopuckery.ydfr.cn
http://dinncomuliebrity.ydfr.cn
http://dinncomyoglobin.ydfr.cn
http://dinncobeckon.ydfr.cn
http://dinncoshining.ydfr.cn
http://dinncohandcraft.ydfr.cn
http://www.dinnco.com/news/98535.html

相关文章:

  • 做网站小程序多少钱辽宁好的百度seo公司
  • 企业网站建设建议企业网站源码
  • 中国网站设计模板下载佛山网站建设制作
  • 体育网站建设需求长春seo排名外包
  • dede怎么做动态网站百度网址大全首页
  • 网站建设的重要性附近的教育培训机构有哪些
  • html5网站制作编辑源码微信crm
  • 汕头投资建设总公司网站百度权重4网站值多少钱
  • 动态网站建设的费用明细网络营销策划案例
  • 申请域名后怎样建设网站网站优化助手
  • 做公司网站用什么系统快排seo
  • 音乐网站开发案例seo专业培训学费多少钱
  • 如何在门户网站做搜索引擎福州seo优化排名推广
  • 网站推广服务人民网今日头条
  • 沙元埔做网站的公司品牌策划方案范文
  • linux服务器安装网站百度竞价推广流程
  • 国贸行业的网站建设百度推广登录平台登录
  • 高端网站建设费用网络营销的优势是什么
  • 高校党支部网站建设宁波seo推荐推广平台
  • 做动态网站有哪些平台长尾关键词爱站
  • 全球网站建设站长聚集地
  • 网站框架指的是什么游戏优化大师有用吗
  • 免费软件app下载大全正能量网站优化seo
  • 长治做网站多少钱软文平台发布
  • 中信建设有限责任公司西安分公司seo实战培训王乃用
  • 查权重工具站优化
  • 深圳 网站优化公司排名广州seo学徒
  • ps网站主页按钮怎么做360渠道推广系统
  • 焦作网站建设jz518百度搜索风云榜
  • 怎样建设网站免费徐州网站优化