2016-04-22 17 views
0

我想创建Link s修改散列而不更改路径名,就像`做。例如: -如何使用“react-router”链接在当前位置添加/修改哈希?

mysite.com/page--link navigate-->mysite.com/page#foo

the docs,我应该这样写:

<Link to="foo">

但这就像<a href="/#foo">;它会清除路径,然后应用散列。

如何使用Link修改当前URL处的散列?

(注意:我我可以手动使用在render - 时间解析window.location和前置一个我<Link to=但是,这听起来很愚蠢)

回答

0

啊,错过了说,文档的一部分:

(相对路径不支持)

因此,我想答案是这样的:

<Link to={ this.props.location.pathname + "#foo" }>

鉴于当前组件访问history.location。在我的情况下,我可以从父组件传入它,所以这个工作。

¯\_(ツ)_/¯

打开,如果他们存在什么更好的答案...

+0

相对路径是在方法[这里](https://github.com/ryanflorence/react-router-relative-links ),如果该WIP解决了,[应该被带入'react-router'核心](https://github.com/reactjs/react-router/issues/2172)。 – ericsoco