Reactjs 具有配置basename的react router 3.0.x和react router redux 4.0.x

Reactjs 具有配置basename的react router 3.0.x和react router redux 4.0.x,reactjs,react-router,react-redux,react-router-redux,Reactjs,React Router,React Redux,React Router Redux,我有以下环境: "react": "^15.4.2", "react-redux": "^5.0.3", "react-router": "^3.0.2", "react-router-redux": "^4.0.8", 迁移到react router 4不是此项目中的选项 使用以下配置,我的应用程序工作正常(这意味着:我的分派(推送('/foo'))正在工作,正在执行浏览器URL更改和redux存储@@reouter/LOCATION\u更改): 从'react redux'导入{Provi

我有以下环境:

"react": "^15.4.2",
"react-redux": "^5.0.3",
"react-router": "^3.0.2",
"react-router-redux": "^4.0.8",
迁移到react router 4不是此项目中的选项

使用以下配置,我的应用程序工作正常(这意味着:我的
分派(推送('/foo'))
正在工作,正在执行浏览器URL更改和redux存储
@@reouter/LOCATION\u更改
):

从'react redux'导入{Provider};
从“react router”导入{browserHistory};
从“react Router”导入{Router,useRouterHistory};
const history=syncHistoryWithStore(浏览器历史记录,存储);
ReactDOM.render(
,
罗特尔
);
当我需要向路由URL添加
basename
时,问题开始出现

我找到了一些不同的方法。遵循我所做的测试之一:

从'react redux'导入{Provider};
从“react Router”导入{Router,useRouterHistory};
//从“历史”导入{createHistory};
从“history/lib/createBrowserHistory”导入createBrowserHistory;
//const browserHistory=useRouterHistory(createHistory)({
//basename:config.historyBasename,
//});
const browserHistory=useRouterHistory(createBrowserHistory)({
basename:config.historyBasename,
});
const history=syncHistoryWithStore(浏览器历史记录,存储);
ReactDOM.render(
,
罗特尔
);
无论我尝试什么配置,我从
react router redux
发送的
push
现在停止工作:我仍然看到浏览器URL更改,但我的存储中没有更改


是否可以让
react router redux
使用上面列出的版本的
basename

最后,我们发现react router配置没有问题


问题出在
路线
配置中。
路径
参数前面缺少斜杠导致出现错误。

最后我们发现react路由器配置没有问题


问题出在
路线
配置中。
路径
参数前面缺少斜杠导致出现错误。

要回答最后一个问题,是否可以,请回答是。我让它工作,但你的配置和我的一样。@DanBalaban d'oh!而你的
push
正在触发位置更改?是的,自2月底以来一直在生产中使用配置,没有问题。要回答最后一个问题,是否可以,是的。我让它工作,但你的配置和我的一样。@DanBalaban d'oh!你的
push
正在触发位置更改?是的,自2月底以来一直在生产中使用配置,没有问题。