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

时间:2019-08-14 20:03:02

标签: javascript reactjs state

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

我有以下代码:

isMenuOpen

1 个答案:

答案 0 :(得分:5)

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>
  )

}