说我们有主页,页面A,页面B和页面C。如果我这样做:
这将在历史对象中至少推送3条路由。如果我重复上述步骤,将会有6个项目。直接通过history.push
进行推送时以及在to
道具中使用Link组件时,都是如此。
控制复杂性的唯一方法是检查先前的位置,然后执行history.goBack
或history.push
:Check history previous location before goBack()。
要注意的是,管理history
对象可以很快成为一项非常复杂的任务。只需添加在应用程序每个页面上呈现的导航栏,就可以添加至少“ n-1”个可以回家的地方(假设“家”是导航选项卡之一)。
我们应该对此加以关注并处理以前的位置吗?
可能相关的问题:Why does the React Router history length increase on refresh?
环境:
答案 0 :(得分:0)
由于Elan Hamburger的评论,我现在知道BrowserHistory
的作用是这样的。通常,在浏览器中,如果您转到页面A,然后转到页面B,然后返回页面A,则单击返回3次将使您返回主页。
因此,您不应该真正介意history
对象的大小,至少在没有数十亿用户的情况下至少可以肯定。