无法将Active类添加到React Map函数中的组列表项

赛义德(Sayed Sajjad Haidari)

嗨,请帮我解决这个问题,当我将鼠标悬停在react map()渲染的组列表项目上时,它将为所有项目设置活动类,而不是我选择的项目。这是代码:

 const LeftPanel = (props) => {

 let [initState, setInitState] = useState();
 let [addActive, setAddActive] = useState();


 fetch('https://jsonplaceholder.typicode.com/todos')
 .then(response => response.json())
 .then(json => setInitState(json));


 const hoverOn = () =>{
 setAddActive(true);
} 

 const hoverOff = () =>{
 setAddActive(false);
}  


return ( 
    
        <div>
            <div>
                <div className="list-group" id="list-tab" role="tablist">
                    {initState && 
                    initState.map(item =>(    
                        <Link className={addActive ? 'list-group-item list-group-item-action active' : 'list-group-item list-group-item-action'} 
                        to="#"  onMouseEnter={hoverOn} onMouseLeave={hoverOff} key={item.id}
                        >
                          {item.title}  
                        </Link>
                    ))
                    }
                </div>
            </div>
        </div>
 );

}

孔功祖(Kaung Khant Zaw)

您需要设置一些内容来知道要添加哪个项目的类,这里是 item.id

import React, { useState, useEffect } from "react";
import "./styles.css";

export default function App() {
  let [initState, setInitState] = useState();
  let [addActive, setAddActive] = useState({
    class: null,
    index: null
  });

  useEffect(() => {
    fetch("https://jsonplaceholder.typicode.com/todos")
      .then((response) => response.json())
      .then((json) => setInitState(json));
  }, []);

  const hoverOn = (e) => {
    setAddActive({
      index: parseInt(e.currentTarget.dataset.id),
      show: true
    });
  };

  const hoverOff = (e) => {
    setAddActive({
      index: parseInt(e.currentTarget.dataset.id),
      show: false
    });
  };

  return (
    <div>
      <div>
        <div className="list-group" id="list-tab" role="tablist">
          {initState &&
            initState.map((item, i) => (
              <div
                className={
                  addActive.index === item.id && addActive.show
                    ? "list-group-item list-group-item-action active"
                    : "list-group-item list-group-item-action"
                }
                onMouseEnter={hoverOn}
                onMouseLeave={hoverOff}
                key={item.id}
                data-id={item.id}
              >
                {item.title}
              </div>
            ))}
        </div>
      </div>
    </div>
  );
}

密码箱

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将类添加到生成的列表中的列表项

来自分类Dev

将类添加到jQuery中的活动列表项

来自分类Dev

无法将FloatingActionButton添加到片段类中的FloatingActionMenu

来自分类Dev

通过useState react将类添加到.map函数中的元素

来自分类Dev

Javascript:无法将href添加到列表项

来自分类Dev

无法将 maxHeight 添加到函数中以添加和重新调整类的高度

来自分类Dev

将css类添加到列表项,但jQuery中的最后一个除外

来自分类Dev

仅当div的类为is-active时,才将文本添加到输入中

来自分类Dev

将元素添加到类列表中

来自分类Dev

将GameObject添加到类中的列表时出错

来自分类Dev

如何将类添加到列表中?

来自分类Dev

exec将函数添加到类中

来自分类Dev

无法将数据添加到非活动类中声明的哈希映射

来自分类Dev

C ++-无法将默认参数添加到类模板成员的离线定义中

来自分类Dev

无法将扩展方法添加到C#中的抽象类

来自分类Dev

无法有效地将类添加到 Roslyn 中的命名空间

来自分类Dev

无法将 EntityFrameworkCore Tools 1.0.1 添加到 Visual Studio 2017 中的类库

来自分类Dev

无法将元素添加到模型类的 ICollection 或更新数据库中的外键

来自分类Dev

在React中按类将事件侦听器添加到项目

来自分类Dev

将类添加到jQuery中添加数字

来自分类Dev

如果父级列表项中有子级,如何将类添加到链接中?

来自分类Dev

无法将列表添加到烧瓶中的会话

来自分类Dev

我无法将int添加到列表中

来自分类Dev

无法将值添加到列表中

来自分类Dev

无法将活动班级添加到列表中

来自分类Dev

无法将元素添加到列表中

来自分类Dev

避免反序列化类将多个项目添加到构造函数中的列表

来自分类Dev

如何在验证错误时将CSS类添加到列表项

来自分类Dev

将类添加到Woocommerce商店页面上的类别列表项

Related 相关文章

  1. 1

    将类添加到生成的列表中的列表项

  2. 2

    将类添加到jQuery中的活动列表项

  3. 3

    无法将FloatingActionButton添加到片段类中的FloatingActionMenu

  4. 4

    通过useState react将类添加到.map函数中的元素

  5. 5

    Javascript:无法将href添加到列表项

  6. 6

    无法将 maxHeight 添加到函数中以添加和重新调整类的高度

  7. 7

    将css类添加到列表项,但jQuery中的最后一个除外

  8. 8

    仅当div的类为is-active时,才将文本添加到输入中

  9. 9

    将元素添加到类列表中

  10. 10

    将GameObject添加到类中的列表时出错

  11. 11

    如何将类添加到列表中?

  12. 12

    exec将函数添加到类中

  13. 13

    无法将数据添加到非活动类中声明的哈希映射

  14. 14

    C ++-无法将默认参数添加到类模板成员的离线定义中

  15. 15

    无法将扩展方法添加到C#中的抽象类

  16. 16

    无法有效地将类添加到 Roslyn 中的命名空间

  17. 17

    无法将 EntityFrameworkCore Tools 1.0.1 添加到 Visual Studio 2017 中的类库

  18. 18

    无法将元素添加到模型类的 ICollection 或更新数据库中的外键

  19. 19

    在React中按类将事件侦听器添加到项目

  20. 20

    将类添加到jQuery中添加数字

  21. 21

    如果父级列表项中有子级,如何将类添加到链接中?

  22. 22

    无法将列表添加到烧瓶中的会话

  23. 23

    我无法将int添加到列表中

  24. 24

    无法将值添加到列表中

  25. 25

    无法将活动班级添加到列表中

  26. 26

    无法将元素添加到列表中

  27. 27

    避免反序列化类将多个项目添加到构造函数中的列表

  28. 28

    如何在验证错误时将CSS类添加到列表项

  29. 29

    将类添加到Woocommerce商店页面上的类别列表项

热门标签

归档