javascript useEffect检查useState的更新

atmip9wb  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(147)

我有一个问题,useState每当更新时都会调用以前的值。有没有办法使用useEffect来检查它的更新?

const [thisButtomSelected, setThisButtomSelected] = useState({
    thisVal: 0,
    thisIndex: 0,
  })
   const onClick = e => {  
    setThisButtomSelected({ thisVal: e.currentTarget.value, thisIndex: e.currentTarget.id });
  }

  <li id="list" key={item.id}>
    <button
      value={item.value}
      id={index}
      className={isEqual(thisButtomSelected, { thisVal: item.value, thisIndex: index }) 
        ? 'button-selected' : 'button'
      }
      onClick={onClick}
    >
      {item.displayValue}
    </button>
</li>
p5fdfcr1

p5fdfcr11#

你的问题并不清楚你想做什么,但是让useEffect知道状态更改可以这样做:

useEffect(()=>{
 // do things

},[thisButtomSelected])

useEffect中的函数将在thisButtomSelected更改时执行,并且在组件第一次呈现时执行。

相关问题