本文主要解释了历史库,最终将需要所有人才能获得小型历史库。
由于历史库提供了核心操作API,因此我们经常使用的相应API由此库提供。
该库分为两个部分,一个文档,一个包装;文档目录主要描述包装目录。软件包目录是历史库的核心代码。
该文件主要讨论了该软件包的产品分类,应用程序,属性。它们将遇到API。如果您想详细了解API,它将指导您跳到api-reference.md文件。
根据环境,他们将创建的路线分为三种类型,一种是“浏览器历史”,另一个是“哈希历史”,另一个是“内存历史记录”。
该文件主要解释并用于三个路由中包含的三个API。
这是历史记录对象(源代码中的TS)
动作主要是操作徽标,方法运行历史堆栈
位置,单词就像其名称一样,描述了当前路由的位置,当前路线的位置在有关当前路线的相关信息中,例如URL,搜索(查询字符串),状态等。
创建链接的CreateHref说,它是基于传记来获取URL的。
以上代码是创建一个对象ooj。当the history.listen(fn)被调用时,它实际上正在执行obj.push。按下此操作将将传递函数参数放在handler.listeners.call中,以实现路由监视。需要在此处解释什么?是手册this.props.history.xx()还是浏览器上的或按钮。
当我们致电时,它实际上是在调用window.history.pushstate(状态,',url)。中间的其他步骤只是转换状态。最后,触发了侦听功能。
简短想法:找到一个全局变量来存储收听功能,并在推送和返回功能中主动触发它
简短想法:声明一个全局变量以记录当前路由。按下时,将路由URL的所有相关信息分配给全局变量,然后执行监视功能
现在让我们测试:
输出信息如下:
好吧,这表明我们的监视功能和推动功能已经成功。
简短的想法:声明全局变量历史记录扇形。当我们手动调用推送方法时,我们还需要在历史记录堆栈中推动路由信息。因为路由信息中有一个唯一的序列号,所以当我们呼叫背面时,我们可以根据序列编号找到上述数字。
在本文中,我们已经整理了历史的工作流程。如果有任何未提及的地方或错误的地方,欢迎您指出。然后,我将解释React-Route系列中的最后一篇DOM文章,因此请继续关注,请期待Itha Ha Ha Ha。