小编Rob*_*ton的帖子

React Hook 延迟了 useEffect 触发?

我试图在我的反应钩子中使用 useEffect() 在我的道具改变时更新状态。但是有延迟,并且 useEffect 仅在我再次单击钩子中的元素后才触发。我对使用钩子相当陌生,任何帮助将不胜感激。谢谢

function ImageOrderSelect (props) {
  const [clicked, setClicked] = useState(false)
  const [options, setOptions] = useState(props.options)
  const [current, setCurrent] = useState(props.current)

  useEffect(() => {
      setCurrent(props.current)
    }, [props.current])


  if(!clicked){
    return (
        <div className="image-order-select-icon" onClick={() => setClicked(!clicked)}>
            <FontAwesomeIcon size="lg" icon={faCircle} />
            <p>{current}</p>
        </div>
    )
  } else if(clicked){
      return (
          <div className="image-order-select">
              {optionsList}
          </div>
      )
  }


}
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks use-effect

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

react-hooks ×1

reactjs ×1

use-effect ×1