React Router v2.4 {queryKey:false}不再有效

Dmi*_*rov 14 reactjs react-router

我已经更新react-router到最新版本 - 2.4.1
我在我的应用程序中使用hashHistory

import { Router, useRouterHistory } from 'react-router'
import { createHashHistory } from 'history'
// useRouterHistory creates a composable higher-order function
const appHistory = useRouterHistory(createHashHistory)({ queryKey: false })
<Router history={appHistory}/>
Run Code Online (Sandbox Code Playgroud)

而现在我收到了一个错误

Warning: Using { queryKey: false } no longer works. 
Instead, just don't use location state if you don't want a key in your URL query string
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

我不希望其他查询键出现在url中.我期望与角度路由器或骨干路由器相同的行为.

Dan*_*l B 6

此警告实际上并非来自React Router,而是来自它使用的历史记录模块.事实上,最新版本(3.0.0,2016年5月30日)与React Router完全不兼容:

未捕获的不变违规:您提供了使用历史记录v3.x创建的历史记录对象.此版本的React Router与v3历史对象不兼容.请改用历史v2.x.

此警告自v2.5.1(2016年6月24日)起生效.

所以最简单的解决方案就是使用React Router使用的相同版本,由它提供package.json:

"history": "^2.0.1"
Run Code Online (Sandbox Code Playgroud)

之后,该queryKey选项按预期工作.