【问题标题】:how to manage active state in bootstrap navbar in react? [duplicate]如何在反应中管理引导导航栏中的活动状态? [复制]
【发布时间】:2015-08-03 07:25:10
【问题描述】:

我知道活动类必须在引导程序中手动管理。我已经用 jQuery 做过几次了。

不过,我的最新项目可以使用 react。

我知道在使用 react 时我不应该使用 jQuery 在 dom 中设置类。但是如何正确地做到这一点呢?

【问题讨论】:

  • 好吧,抱歉重复了 - 但老实说,我不明白其他帖子中的答案。相比之下,我理解 Jeremy D 和 PhInside 的两个答案,那到底是什么......

标签: twitter-bootstrap reactjs


【解决方案1】:

您只需在render 函数中指定选项卡的active 值。 要知道选项卡是否应该具有 className 属性的值,请将其存储在某处。

如何在 React 组件中存储一些东西?你使用state。 您没有显示任何代码,但您可以简单地跟踪您所在州当前处于活动状态的选项卡。

例如,您可以这样:

getInitialState: function() {
    return { activeTabClassName: "tab1" };
}

render: function() {
    return (
        <ul>
            <li className={(this.state.activeTabClassName === "tab1") ? "active" : ""}></li>
            <li className={(this.state.activeTabClassName === "tab2") ? "active" : ""}></li>className            </ul>
    );
}

警告:此代码块只是一个示例,未经测试。 (有几种方法可以做到)。

您也可以查看:Switch class on tabs with React.js

【讨论】:

  • 解释得很好——我明白了:将活动导航的名称作为状态传递,然后在渲染时设置 className。非常感谢!
  • 哦,是的,这正是我要找的! React 到现在都很棒..
【解决方案2】:

您可以使用react-router 自动或手动管理引导导航栏中的活动状态。

【讨论】:

  • 我也一定会尝试这个解决方案,非常感谢!
猜你喜欢
  • 2020-04-17
  • 2014-08-22
  • 1970-01-01
  • 2018-07-11
  • 2018-08-09
  • 2013-08-15
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多