繁体   English   中英

在状态值之间切换-切换功能

[英]Toggling Between State Value - Toggle Function

在我的React App中,我有一个功能组件,想在状态值之间切换。 我的toggleNav函数似乎无法正常工作。 我试图将isMenuOpen设置为isMenuOpen不是,但是我的语法似乎不正确。

我有以下代码:

const navBar = () => {

  //set initial state
  const [isMenuOpen] = useState(false);

  // toggle variable
  let toggleNav = () => {
    isMenuOpen = !isMenuOpen;
  }

  return (
    <button onClick={toggleNav}>Toggle</button>
  )

}

useState返回的第二个元素是setter 您不能仅仅改变状态。 尝试这个:

const navBar = () => {

  //set initial state
  const [isMenuOpen, setMenuOpen] = useState(false);

  // toggle variable
  let toggleNav = () => {
    setMenuOpen(!isMenuOpen)
  }

  return (
    <button onClick={toggleNav}>Toggle</button>
  )

}

如评论中所指出的, toggleNav是不必要的:

const navBar = () => {

  //set initial state
  const [isMenuOpen, setMenuOpen] = useState(false);


  return (
    <button onClick={() => setMenuOpen(!isMenuOpen)}>Toggle</button>
  )

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM