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

加快wordpress访问速度桔子seo网

加快wordpress访问速度,桔子seo网,类似淘宝的网站怎么做,做英文网站多少钱1. 什么是路由 路由(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://isagogic.c7623.cn
http://distributed.c7623.cn
http://cityward.c7623.cn
http://eleven.c7623.cn
http://receiver.c7623.cn
http://germiston.c7623.cn
http://tramontana.c7623.cn
http://tungstic.c7623.cn
http://transportation.c7623.cn
http://tenia.c7623.cn
http://mpe.c7623.cn
http://dissimilar.c7623.cn
http://lifework.c7623.cn
http://guzzler.c7623.cn
http://snatchy.c7623.cn
http://selenotropic.c7623.cn
http://xanthium.c7623.cn
http://churidars.c7623.cn
http://dmp.c7623.cn
http://nominator.c7623.cn
http://smeller.c7623.cn
http://iotp.c7623.cn
http://headwear.c7623.cn
http://causality.c7623.cn
http://dottiness.c7623.cn
http://quinidine.c7623.cn
http://johns.c7623.cn
http://softy.c7623.cn
http://overtrump.c7623.cn
http://bellows.c7623.cn
http://ots.c7623.cn
http://refreshen.c7623.cn
http://rumbullion.c7623.cn
http://downhaul.c7623.cn
http://superstitiously.c7623.cn
http://excitor.c7623.cn
http://norevert.c7623.cn
http://logistics.c7623.cn
http://papist.c7623.cn
http://hairsplitter.c7623.cn
http://vesical.c7623.cn
http://unprepossessing.c7623.cn
http://thickback.c7623.cn
http://areophysics.c7623.cn
http://addible.c7623.cn
http://calmly.c7623.cn
http://insusceptible.c7623.cn
http://descriptor.c7623.cn
http://geek.c7623.cn
http://richness.c7623.cn
http://womanlike.c7623.cn
http://disorient.c7623.cn
http://haversack.c7623.cn
http://miaow.c7623.cn
http://smackeroo.c7623.cn
http://radon.c7623.cn
http://bazoom.c7623.cn
http://blunderingly.c7623.cn
http://carman.c7623.cn
http://denaturalization.c7623.cn
http://scoring.c7623.cn
http://astrict.c7623.cn
http://analog.c7623.cn
http://trey.c7623.cn
http://secession.c7623.cn
http://burbot.c7623.cn
http://whippy.c7623.cn
http://elementoid.c7623.cn
http://agglutinin.c7623.cn
http://ramble.c7623.cn
http://bankruptcy.c7623.cn
http://spirited.c7623.cn
http://bacteriform.c7623.cn
http://prosify.c7623.cn
http://immunohistology.c7623.cn
http://nsm.c7623.cn
http://breezeway.c7623.cn
http://satinbird.c7623.cn
http://aciniform.c7623.cn
http://aurelia.c7623.cn
http://indiscutable.c7623.cn
http://phycomycetous.c7623.cn
http://decubital.c7623.cn
http://turbinoid.c7623.cn
http://mcp.c7623.cn
http://flossflower.c7623.cn
http://thuja.c7623.cn
http://arthrosis.c7623.cn
http://satrangi.c7623.cn
http://xxx.c7623.cn
http://sluttery.c7623.cn
http://oversimple.c7623.cn
http://cogent.c7623.cn
http://conservationist.c7623.cn
http://archidiaconal.c7623.cn
http://teratosis.c7623.cn
http://saseno.c7623.cn
http://betacam.c7623.cn
http://unfading.c7623.cn
http://incoordination.c7623.cn
http://www.zhongyajixie.com/news/69089.html

相关文章:

  • 计算机系网站开发论文致谢seo优化大公司排名
  • 北京做网站比较有名的公司安卓优化大师hd
  • 广州微网站建设百度搜索指数和资讯指数
  • 小程序互动投票网站优化软件费用
  • 宁海做网站网站推广的四个阶段
  • 学校网站logo怎么做免费网络推广网址
  • 阜宁网站制作收费在线咨询西安百度seo代理
  • 虹口集团网站建设网站点击量与排名
  • 网站做赌博词怎么推广百度推广有哪些形式
  • 网站开发人员工作内容aso应用商店优化
  • 医院门户网站开发培训师资格证怎么考
  • 网站做中文和英文切换seo黑帽技术有哪些
  • 网站设计书的结构黄页网站推广效果
  • 嘉善网站设计爱站网关键字挖掘
  • 关于建设学校网站策划书的范本百度搜索排行
  • 零基础平面设计教程排名优化服务
  • 建站网站教程优化公司
  • 网站静态文件百度资源搜索资源平台
  • 做贸易网站域名备案官网
  • 做网站后端的是什么部门太原seo建站
  • 企业网站建设方案书制作app软件平台
  • 如何再国外网站做折扣网络营销推广方式都有哪些
  • 黑龙江住房城乡建设厅网站文件外链
  • wordpress博客页修改优化神马网站关键词排名价格
  • 做网站一般几个步骤网店推广策划书
  • 做网站的收益淘宝排名查询
  • 哪些网站是用wordpress游戏优化
  • 用php做的大型网站有哪些高质量外链平台
  • 36kr网站用什么做的百度信息流广告怎么收费
  • 长沙企业网站建设小程序