小编典典

react-router:如何禁用,如果它处于活动状态?

reactjs

<Link>如果URL已经激活,如何禁用反应路由器?例如,如果我的URL不会因单击而改变,<Link>我想完全阻止单击或呈现<span>而不是<Link>

我想到的唯一解决方案是使用activeClassName(或activeStyle)和setting pointer-events: none;,但是我想使用一种可在IE9和IE10中使用的解决方案。


阅读 304

收藏
2020-07-22

共1个答案

小编典典

我不会问您为什么要这种行为,但是我想您可以包装<Link />在自己的自定义链接组件中。

<MyLink to="/foo/bar" linktext="Maybe a link maybe a span" route={this.props.route} />

class MyLink extends Component {
    render () {
        if(this.props.route === this.props.to){
            return <span>{this.props.linktext}</span>
        }
        return <Link to={this.props.to}>{this.props.linktext}</Link>
    }
}

(ES6,但您可能已经有了大致的想法…)

2020-07-22