使用push with basename时的双基本路径

时间:2016-03-22 15:44:33

标签: react-router

我遇到过一个问题,我一直试图弄清楚我是做错了什么,还是一个真正的错误。经过大量的搜索,我仍然无法弄清楚我做错了什么,或者我是否发现了实际问题。

为什么我这么困惑的部分原因也是因为我发现react-router和历史之间的交集有点令人困惑。我花了一段时间才弄清楚如何将历史的增强函数与react-router一起使用,我仍然认为问题可能就在那里。

我在这里有一个测试用例:

问题是:

一些额外的细节:

  • 如果我使用<base>标记而不是useBasename增强器,则可以正常使用。但是,鉴于我对开发和生产的设置略有不同,使用环境变量来定义基本路径会更有帮助,而不是在构建时操纵<base>标记。
  • 我上传的示例应用是我正在处理的应用的最小子集。我删除了其他无关紧要的内容。
  • 在本地运行并且基路径设置为空字符串时,不会发生问题

1 个答案:

答案 0 :(得分:2)

经过一些进一步调查后,我在使用useBasename时找出了react-already uses useRouterHistory增强器,这是问题的原因,因为增强器会被执行两次。