看这段视频,react路由器似乎很容易使用,但我找不到如何在我的代码中导航,因为我想在单击div时链接,而不是使用
我已经搜索了StackOverflow,但没有找到任何适用于4.0的答案。尝试导入浏览器历史给出未定义(之前和之后安装'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);
编辑
在开发工具中,我可以看到“路由器”有一个历史属性,因此当我添加该属性时,我可以访问它:
<Route path="/" render={({ match, context, history}) => {
有办法从路线外到达吗?例如,导航栏组件将导航到其他组件,但不在路由本身内...
你为什么不把你的div包在链接中,而不是试图绕过它,让你的生活更轻松?
<Link to="/" >
<div className="to-component">go to component</div>
</Link>
我必须更多地阅读文档。历史记录
对象仅使用路由
上的组件
(或其他)属性作为属性传递。显然需要包含“历史记录”包,并使用createBrowserHistory
将其传递给路由器
,然后在路由中指定组件。我认为这应该可以很好地工作,因为没有指定
exact
。。。
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
ReactDOM.render( (
<Router history={ history }>
<Route path="/" component={ App } />
</Router>
),
document.getElementById('root')
);
在我有
之前
如果我理解你的问题,这就是你如何制作链接编程。
class Test extends React.Component {
handleClick() {
console.log(this.context);
this.context.router.history.push('/some/path');
},
render() {
return (
<div onClick={handleClick}>
This is div.
</div>
)
}
}
Test.contextTypes = {
router: React.PropTypes.object.isRequired
}
ReactDOM.render(
<Test />,
document.getElementById("app")
);
问题内容: 使用 withRouter() 时如何获取路由上下文,位置,参数等? 您可以使用withRouter获得该信息,还是必须将这些内容显式传递到组件树中? 问题答案: 因此,不再使用。在道具中都可以使用: 因此,假设您想将用户转到新路线,您只需
我安装了react-router-dom v6,我想使用一个基于类的组件,在之前版本的react-router-dom v5在做某事后适用于重定向页面,但此代码不适用于v6。 在react-router-dom v6中,函数组件有一个钩子,但我需要在类基础组件中使用它,请帮助我如何在类组件中使用导航?
问题内容: 使用此样板作为参考,我创建了一个Electron应用程序。它使用webpack捆绑脚本并通过Express Server托管脚本。 的WebPack配置是实质上相同的这个和服务器这样。 Electron的脚本加载: 然后index.html加载服务器托管的脚本: 我运行以构建应用程序并启动服务器,该服务器使用webpack将脚本捆绑在一起。 它工作正常,我的React组件App已安装。
我正在学习使用旧版本React路由器的教程。除了下面的代码,我已经更新了所有的代码,并且可以工作了:
问题内容: 通过使用我可以使用元素创建由React Router本机处理的链接。 我在内部看到它的呼唤。 我想导航。不是来自链接,而是来自下拉菜单(例如)。如何在代码中执行此操作?什么啊 我看到了mixin,但是如果没有,我可以这样做吗? 问题答案: 带有钩子的React Router v5.1.0 如果您使用React> 16.8.0和功能组件,则React Router> 5.1.0中会有一个
问题内容: 我刚刚从v3 替换为v4。 但是我不确定如何以编程方式在的成员函数中进行导航。即在功能上我想导航到处理一些数据后。我曾经通过以下方式做到这一点: 但是我在v4中找不到这样的接口。 如何使用v4导航? 问题答案: 如果您定位到浏览器环境,则需要使用package而不是。他们按照相同的方法作出反应那样,以核心分开,( )和特定于平台的代码,( ,用细微的差别,你并不需要安装两个独立的包),