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
上查看此问题主题中的详细信息
我在 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
上查看此问题主题中的详细信息