reactjs – React 16.7 Hooks:`react.useState`不是函数

我正在尝试带有反应16.7的钩子的功能组件,有一个错误:

SRC /组件/页脚/ index.js

function Footer() {
  const [selectedTab,setSelectedTab] = useState('redTab');
  const [hidden,setHidden] = useState(false);
  const [fullScreen,setFullScreen] = useState(false);
 //...
}

的package.json

我该怎么办?

确保将react-dom升级到16.7.0-alpha.0.

的package.json

{
  "dependencies": {
    "react": "16.7.0-alpha.0","react-dom" "16.7.0-alpha.0",...
  },...
}

也许你只是在没有安装新版本的情况下碰撞了package.json中的版本. You can remove node_modules and install again.

npm ci

const { useState } = React;

function Footer() {
  const [selectedTab,setFullScreen] = useState(false);
  
  return (
    <div>
      <button onClick={() => setSelectedTab('blueTab')}>{selectedTab}</button>
      <button onClick={() => setHidden(isHidden => !isHidden)}>
        {hidden ? 'hidden' : 'visible'}
      </button>
      <button onClick={() => setFullScreen(isFullScreen => !isFullScreen)}>
        {fullScreen ? 'fullscreen' : 'windowed'}
      </button>
    </div>
  );
}

ReactDOM.render(
  <Footer />,document.getElementById('root')
);
<script src="https://unpkg.com/react@16.7.0-alpha.0/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16.7.0-alpha.0/umd/react-dom.development.js"></script>

<div id="root"></div>

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...