当前位置: 首页 > 面试题库 >

React-Router的实现原理是什么?

陈泰宁
2023-03-14
本文向大家介绍React-Router的实现原理是什么?相关面试题,主要包含被问及React-Router的实现原理是什么?时的应答技巧和注意事项,需要的朋友参考一下

1.react-router依赖基础 - history,是一个独立的第三方js库,可以用来兼容在不同浏览器、不同环境下对历史记录的管理,拥有统一的API。具体来说里面的history分为三类:

  • HashRouter:老浏览器的history,主要通过hash来实现,对应createHashHistory()
  • BrowserRouter:高版本浏览器,通过html5里面的history,对应createBrowserHistory()
  • **MemeoryRouter:**node环境下,主要存储在memeory里面,对应createMemoryHistory()

*createHashHistory、createBrowserHistory、createMemoryHistory方法只是覆盖了某些基础公用方法,比如go(),replace(),push()等。BrowserRouter和HashRouter组件,前者使用pushState和popState事件构建路由,后者使用 hash 和 hashchange 事件构建路由。MemeoryRouter可以应用于像react native。

  1. 当url发生变化时,路由通过监听url的变化,我们不仅能直接获取和解析url路径,并且通过路由匹配,决定应该展示什么样的组件,即React组件的展示,授权路由进行控制,保证了url和视图的同步。
 类似资料:
  • 本文向大家介绍事件代理的实现原理是什么?相关面试题,主要包含被问及事件代理的实现原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 事件代理是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>l

  • 本文向大家介绍说说react diff的原理是什么?相关面试题,主要包含被问及说说react diff的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 内存中存储两颗树,一颗树是已经渲染的树结构(Current Tree),另一颗是即将变化的树(Fiber Tree)。 每次状态发生变化,会对原来的树结构进行遍历,遍历过程中,会通过比较每个节点的结构与之前 Fiber 结构的区别,生成新的

  • 本文向大家介绍React-router 4 按需加载的实现方式及原理详解,包括了React-router 4 按需加载的实现方式及原理详解的使用技巧和注意事项,需要的朋友参考一下 React-router 4 介绍了在router4以后,如何去实现按需加载Component,在router4以前,我们是使用getComponent的的方式来实现按需加载的,router4中,getComponent

  • 本文向大家介绍react多个setState调用的原理是什么?相关面试题,主要包含被问及react多个setState调用的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 当遇到多个setState调用时,它会提取单次传递给setState的对象,把它们合并在一起形成一个新的单一的对象,并用这个单一的对象去做setState的事情

  • 本文向大家介绍在elemnetUI里面this.$message的实现原理是什么?相关面试题,主要包含被问及在elemnetUI里面this.$message的实现原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 在elemnetUI里面this.$message的实现原理是什么? 作者:Alex

  • 本文向大家介绍react-router实现按需加载,包括了react-router实现按需加载的使用技巧和注意事项,需要的朋友参考一下 本文使用的 React-router 版本为 2.8.1 React Router自己就有一套按需加载解决方案,将代码拆分成多个小包,在浏览过程中实现按需加载; 如过你的项目搭配了webpack打包工具,那么需要在webpack.config.js的output内