react,怎么实现列表点击那一项样式改变,再次点击样式变成原先的样式,点击别的项,样式变到这一项上

就是下面这个,最开始点击1,然后在点击2,然后在点击2
图片描述
图片描述
图片描述

说一下大概具体思路就行,当然有代码更好,这个列表是遍历出来的- -

阅读 4.5k
1 个回答
import classNames from 'classnames';

constructor(props) {
    super(props);
    this.state = {
      ...
      index: 0,
    };
}

handleClick (index) {
  // toggle效果你可以先判定是否等同,然后设置为-1
  this.setState({index});
}

render() {
  some.map((item ,idx) => {
    return (
      <li className={ classNames({active: idx === this.state.index}) } onClick={ this.handleClick.bind(this, idx) }></li>
    )
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题