我的回答

react-router可以在浏览器的history中留下记录

a标签再浏览器的历史记录中不能留下记录

参考答案

区别

从最终渲染的DOM来看,这两者都是链接,都是a标签,区别是: Link标签是react-router里实现路由跳转的链接,一般配合Route使用,react-router接下了其默认的链接跳转行为,区别于传统的页面跳转,Link标签的”跳转”行为只会触发相匹配的Route对应的页面内容更新,而不会刷新整个页面

Link标签做的三件事情:

  • 1.有onclick那就执行onclick
  • 2.click的时候阻止a标签默认事件
  • 3.根据跳转href(即使是to),用history(web前端路由两种方式之一,history&hash)跳转,此时只是链接变了,并没有刷新页面

标签就是普通的超链接了,用于从当前页面跳转到href指向的里一个页面(非锚点情况)
[

a标签默认事件禁掉之后做了什么才实现了跳转?

  1. let domArr=document.getElementByTagName('a');
  2. [...domArr].forEach(item=>{
  3. item.addEventListener('click',function(){
  4. location.href=this.href
  5. })
  6. })

]()