使用useState

问题描述

我正在尝试渲染一个元素数组,以便当您将鼠标悬停在某个元素上时,它会过滤元素数组并仅使用悬停的元素重新渲染。保持位置是越野车,但现在不必担心。

它可以工作,但是当悬停元素被渲染时,它没有任何内容

const [show,setShow] = useState(false);

const cards = [{key:"1",title:"elem1",content:"..."},{key:"2",title:"elem2",{key:"3",title:"elem3",content:"..."}]

const tempCards = []

My hover function returns

tempCards = [{key:"1",title:"elem1"}];

/// temp function allowing to work from button click
const changeShow = () => {
    tempCards = cards.filter(item => item === cards[0]);
    console.log(tempCards[0])
    setShow(!show)
  }

一切正常,但是当元素加载到页面上时,没有内容显示

    {show ? cards.map((item)=> {
      return <CardSpinLeft
         onClick={toggle}
         key={item.key}
         id={item.key}
         image={item.img}
         name={item.title}
         title={item.title}
         paragraph={item.content}
         />
         }): 
         <CardSpinLeft
         onClick={toggle}
         key={tempCards.key}
         id={tempCards.key}
         image={tempCards.img}
         name={tempCards.title}
         title={tempCards.title}
         paragraph={tempCards.content}
         />
      }

没有收到任何错误,我什至尝试使过滤器功能异步/等待,以为它是加载问题。我唯一能想到的是,react是在内容出现之前就对其进行了预加载

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)