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

b2c电子商务网站的特点及类型网站的优化seo

b2c电子商务网站的特点及类型,网站的优化seo,期末成绩管理网站开发背景,怎么推广网站建设业务1. push 与 replace 模式 默认情况下,开启的是 push 模式,也就是说,每次点击跳转,都会向栈中压入一个新的地址,在点击返回时,可以返回到上一个打开的地址, 就像上图一样,我们每次返…

1. push 与 replace 模式

默认情况下,开启的是 push 模式,也就是说,每次点击跳转,都会向栈中压入一个新的地址,在点击返回时,可以返回到上一个打开的地址,

就像上图一样,我们每次返回都会返回到上一次点击的地址中

当我们在读消息的时候,有时候我们可能会不喜欢这种繁琐的跳转,我们可以开启 replace 模式,这种模式与 push 模式不同,它会将当前地址替换成点击的地址,也就是替换了新的栈顶

我们只需要在需要开启的链接上加上 replace 即可

<Link replace to={{ pathname: '/home/message/detail', state: { id: msgObj.id, title: msgObj.title } }}>{msgObj.title}</Link>

 

2. 编程式路由导航

我们可以采用绑定事件的方式实现路由的跳转,我们在按钮上绑定一个 onClick 事件,当事件触发时,我们执行一个回调 replaceShow

这个函数接收两个参数,用来仿制默认的跳转方式,第一个是点击的 id 第二个是标题

我们在回调中,调用 this.props.location 对象下的 replace 方法

replaceShow = (id, title) => {this.props.history.replace(`/home/message/detail/${id}/${title}`)
}

同时我们可以借助 this.props.history 身上的 API 实现路由的跳转,例如 go、goBack 、goForward

3. withRouter

当我们需要在页面内部添加回退前进等按钮时,由于这些组件我们一般通过一般组件的方式去编写,因此我们会遇到一个问题,无法获得 history 对象,这正是因为我们采用的是一般组件造成的。

只有路由组件才能获取到 history 对象

因此我们需要如何解决这个问题呢

我们可以利用 react-router-dom 对象下的 withRouter 函数来对我们导出的 Header 组件进行包装,这样我们就能获得一个拥有 history 对象的一般组件

我们需要对哪个组件包装就在哪个组件下引入

// Header/index.jsx
import { withRouter } from 'react-router-dom'
// 在最后导出对象时,用 `withRouter` 函数对 index 进行包装
export default withRouter(index);

这样就能让一般组件获得路由组件所特有的 API

4. BrowserRouter 和 HashRouter 的区别

它们的底层实现原理不一样

对于 BrowserRouter 来说它使用的是 React 为它封装的 history API ,这里的 history 和浏览器中的 history 有所不同噢!通过操作这些 API 来实现路由的保存等操作,但是这些 API 是 H5 中提出的,因此不兼容 IE9 以下版本。

对于 HashRouter 而言,它实现的原理是通过 URL 的哈希值,但是这句话我不是很理解,用一个简单的解释就是

我们可以理解为是锚点跳转,因为锚点跳转会保存历史记录,从而让 HashRouter 有了相关的前进后退操作,HashRouter 不会将 # 符号后面的内容请求。兼容性更好!

地址栏的表现形式不一样

  • HashRouter 的路径中包含 # ,例如 localhost:3000/#/demo/test

刷新后路由 state 参数改变

  • 在BrowserRouter 中,state 保存在history 对象中,刷新不会丢失
  • HashRouter 则刷新会丢失 state
http://www.ds6.com.cn/news/27516.html

相关文章:

  • 新乡做网站推广自己建站的网站
  • 武汉做网站方式网站推广优化的公司
  • 做外贸无法登录国外网站怎么办引擎搜索网站
  • 佛山新网站建设如何软文自助发稿平台
  • 企业网站制作 厦门网站排名点击工具
  • 无锡市网站建设站长之家端口扫描
  • 企业网站建设申请域名海阳seo排名优化培训
  • 手表商城seo是什么专业的课程
  • wordpress怎么改中文字体谷歌关键词优化怎么做
  • 做百度竞价什么网站好关键词排名优化易下拉霸屏
  • 常熟做网站优化百度直播平台
  • 专注旅游网站网站开发免备案域名
  • 商丘做网站的公司东莞企业网站排名优化
  • 企业网站托管排版设计网站建设全网营销
  • 品辰设计的网站谁做的建个网站费用大概多少钱一年
  • 平凉哪有做网站的百度指数专业版app
  • 阿里妈妈推广网站浙江seo公司
  • 浙江杭州网站建设服务公司哪家好亚马逊关键词工具哪个最准
  • 湛江做网站软件爱站网关键词怎么挖掘
  • 财政网站 建设方案线上推广100种方式
  • 专门做音箱的网站seo免费资源大全
  • siteservercms做的网站在后台进行修改教程手机建站系统
  • 小程序源码安装seo搜索是什么
  • 做网站程序看什么书百度搜索排行榜风云榜
  • 提供网站制作网站建设策划书范文
  • 网站下载速度慢网站新域名查询
  • 西安建设网站公司山东工艺美术学院网站建设公司
  • 做设计的地图网站百度搜索官方网站
  • 做快递单的网站会不会是骗人的网站注册账号
  • 南城网站建设公司方案关键词排名点击软件网站