javascript - 如何在悬停效果的单个 react 元素上管理状态?

标签 javascript css reactjs hover jsx

我正在尝试在 React 中为我的投资组合网站设置一个简单的“图标到文本”悬停效果。当我设置它时,它会更改悬停时的所有图标,我只想一次更改一个图标。

export default class Home extends Component {
  constructor(props) {
    super(props);

    this.state = {
      isHover: false
    };

    this.onMouseEnterHandler = this.onMouseEnterHandler.bind(this);
    this.onMouseLeaveHandler = this.onMouseLeaveHandler.bind(this);
  }

  onMouseEnterHandler() {
    this.setState({
      isHover: true
    });
  }

  onMouseLeaveHandler() {
    this.setState({
      isHover: false
    });
  }

  render() {
    return (
      <div className="home">
      <div className="hamburger-icon"></div>
        <section className="info-section">
          <div className="logo">M</div>
          <div className="info-box-top">
            <a onMouseEnter={this.onMouseEnterHandler} onMouseLeave={this.onMouseLeaveHandler} className="home active" id="one" href="/">
              { this.state.isHover
                  ? <span>Home</span>
                  : <FontAwesomeIcon icon={faHome} />
              }
            </a>
            <a id="two" href="/about"><FontAwesomeIcon icon={faUser} /></a>
            <a id="three" href="/skills"><FontAwesomeIcon icon={faCog} /></a>
            <a id="four" href="/gallery"><FontAwesomeIcon icon={faEye} /></a>
            <a id="five" href="/contact"><FontAwesomeIcon icon={faEnvelope} /></a>
          </div>

最佳答案

您只能通过 css 管理它,但如果您希望它管理表单 javascript,那么您可以管理每个单独元素的状态。请检查我的 codesandbox 链接以供引用。 https://codesandbox.io/s/react-example-1nyfs

关于javascript - 如何在悬停效果的单个 react 元素上管理状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59573355/

相关文章:

javascript - 删除值为 NULL 的 cookie

css - 我如何自定义 twitter bootstrap 以使用从右到左的语言?

html - 中心裁剪图像

html - 为什么我的 bootstrap 标签和徽章在我的三星 s3 上消失了

javascript - 如何提高reactjs在移动端的初始渲染性能?

javascript - 在 React 中更新子组件后更改父状态?

javascript - 同一页面上的两个 jQuery 日期选择器具有不同的 CSS 样式

javascript - 在 JavaScript 函数中访问 Redux 存储

javascript - 将数组转换为具有键/值对的对象

javascript - 可编辑行在包含 JSON 数据的表中不起作用?