使用 hashHistory 推送反应路由问题

React routing issue with hashHistory push

我这样定义一个反应路由路径:

/customer/:cid

当我导航到所需路径时,像这样从我的传奇中调用哈希历史推送:

yield call(hashHistory.push, `/customer/${cid}`);

我在浏览器中没有看到 'customer' 字样,并且出现 url 与路由路径不匹配的警告。当我使用 /${cid} expect from /customer/${cid} 时,路由器工作正常。我错过了什么?

我想,您可以跳过前缀为 customer 的第一个正斜杠。 因为 url 您推送到 hashHistory 是相对于应用程序根目录 url。所以跳过第一个正斜杠。希望有帮助

可以试试:

window.history.pushState(null, null, `#/customer/${cid}`);

或者创建一个模块 hashHistory:

// hashHistory.js
import { createHashHistory } from 'history';
export default createHashHistory({});

并使用它:

import hashHistory from './hashHistory';
// ....
hashHistory.push(`/customer/${cid}`);