小编aer*_*ugo的帖子

使用React一次突出显示一个对象

我对React和Javascript都很陌生,我已经开始通过构建一个简单的可折叠菜单来学习它.它按预期工作,除了我无法弄清楚如何一次只突出显示一个项目.我怀疑onClick方法和状态必须由比sectionItem更高级别的类所拥有,但我真的陷入了如何使这项工作.我的第一直觉就是每次点击某些内容时迭代菜单中的所有项目,并确保所有其他项目都切换为active = false.

这是考虑这个问题的正确方法吗?在这种情况下,有人可以解释一下状态如何在React中运行,以及我应该如何在这里实现它?

整个代码可在此处获得:codepen.io上的菜单

这是我想要突出显示的项目的代码.我还没有能够实现一次只突出显示一个项目.

var SectionItem = React.createClass({
  handleClick: function(){
    if(!this.state.active) {
      this.setState({
        currentItem: this,
        active: true,
        class: "sectionitem active"});
    }
  },
  getInitialState: function(){
     return {
       active: false,
       class: "sectionitem"
     }
  },
  render: function() {
    return (
        <div className={this.state.class} onClick={this.handleClick}>{this.props.title}</div> 
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript menu onclick reactjs

8
推荐指数
1
解决办法
2218
查看次数

标签 统计

javascript ×1

menu ×1

onclick ×1

reactjs ×1