【发布时间】:2017-08-22 06:13:29
【问题描述】:
看看this video,react 路由器似乎很容易使用,但我找不到如何在我的代码中导航,因为我想在单击 div 时链接而不使用<Link>。
我搜索了 StackOverflow,但没有找到任何适用于 4.0 的答案。尝试从this question 导入 browserHistory 会给出未定义(在安装 'react-router' 和 'react-router-dom' 之前和之后):
import { browserHistory } from 'react-router';
console.log('browserHistory:', browserHistory);
我还在某处看到有一个“上下文”可以访问,但这显示了“匹配”的值而不是“上下文”:
<Route path="/" render={({ match, context}) => {
console.log('match:', match);
console.log('context:', context);
编辑
在开发工具中,我可以看到“Router”有一个历史属性,所以当我添加它时,我可以得到它:
<Route path="/" render={({ match, context, history}) => {
有没有办法从路线外到达这里?例如,导航栏组件将导航到其他组件,但不在 Route 本身内...
【问题讨论】:
-
初始化你自己的历史并调用history.push npmjs.com/package/history,也不要忘记在你的
中使用这个历史
标签: react-router react-router-v4