当前位置: 首页 > 面试题库 >

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

辛可人
2023-03-14
问题内容

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

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


问题答案:

我不会问您为什么要这种行为,但是我想您可以包装<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,但您可能已经有了大致的想法…)



 类似资料:
  • 问题内容: 对于每个请求,您可以通过几种不同的方式来判断会话是否已经开始,例如: 要么: 但是,如果您启动会话然后将其关闭,它们都将失败。将返回前一个会话的ID,同时将对其进行定义。同样,如果您已经有一个活动会话,则此时调用将生成一个。有没有一种明智的方法来检查会话当前是否处于活动状态,而不必诉诸输出缓冲,关闭运算符()或其他类似hacky的方法? 编辑8/29/2011:向PHP 5.4添加了新

  • 问题内容: 从MDN for NodeList: 在某些情况下,NodeList是一个实时集合,这意味着DOM中的更改会反映在集合中。例如,Node.childNodes处于活动状态: 在其他情况下,NodeList是静态集合,这意味着DOM中的任何后续更改都不会影响集合的内容。document.querySelectorAll返回一个静态NodeList。 所以....有点烦!是否有任何关于哪些

  • 我正在寻找一种方法,显示一个div时,一个锚点被点击。我在我的页面上有一个HTML5/PHP表单,当提交时,它会将用户带着一条谢谢消息带到div中放置的锚,这是激活该链接的唯一方法。这是我试图显示的div: 当锚点处于活动状态时,是否有一种方法可以改变(可能使用CSS)显示:none?

  • 问题内容: 我正在一个已实现UI路由器的项目中,当该项目是当前路线时,该项目用于将活动类添加到导航菜单项。但是,当您导航到该视图中的嵌套视图时,父菜单项不再处于活动状态。请参阅以下柱塞: http://plnkr.co/edit/2CoEdS?p=preview 默认情况下(或者如果您单击它),路线1是“活动的”。当您单击“显示列表”时,您将看到Route 1不再处于活动状态。 编辑: 此示例与我

  • 问题内容: 我需要检测用户超过30分钟的时间在当前页面上处于非活动状态(未单击或键入)。 我认为最好使用附加到body标签的事件模糊处理,然后继续将计时器重置30分钟,但是我不确定如何创建它。 我有可用的jQuery,尽管我不确定其中有多少将实际使用jQuery。 编辑: 我更需要知道他们是否正在积极使用该站点,因此单击(更改字段或字段在字段中的位置或选择复选框/收音机)或键入(在输入,文本区域等

  • 问题内容: 我无法弄清楚哪个当前处于活动状态,因此如果它们在上单击“取消”,则可以清除其文本。这是我的代码。有一个视图,和两个栏按钮的项目。取消项的操作只能清除其文本,我无法弄清楚如何获得正确的文本。 我都尝试过这两个: 和: 问题答案: 您可以在类中声明一个属性,然后在中为它分配当前文本字段。然后,您可以在需要时随时调用此文本字段。