React Router 4 - location.key 在 <Match> children 的道具中不可用

React Router 4 - location.key is not available in props of <Match> children

我在 child 组件中使用 location.key

密钥默认为 6 个字符长。例如,它看起来像这样:

Object { pathname: "/one", search: "", hash: "", query: null, key: "rjtd5t" }

然而 <Match> 的 children 收到的 location 属性 看起来像这样:

Object { params: Object, isExact: true, pathname: "/one", location: Object, pattern: "/one/:pid?" }

location: Object { pathname: "/one", search: "", hash: "", query: null, state: null }

在这个 location object 中我们看到 state 但它是空的,我预计它是 key 的值。有谁知道 react router v4 是否计划得到这个?或者有没有办法在道具中得到它?我当然知道我可以通过 const history = createBrowserHistory(); let cur_key = history.location.key 获得这把钥匙,但这可能与道具不匹配(由于动画时间等),这就是为什么我希望从道具获得它。

显然这是一个错误,已修复。在此解决方案 alpha6 发布时,它已在 alpha7 中修复。您可以在官方 repo - https://github.com/ReactTraining/react-router/issues/4336#issuecomment-273479938

上查看此问题主题中的详细信息