Javascript reactjs TypeError:使用挂钩时,对象(…)不是函数

Javascript reactjs TypeError:使用挂钩时,对象(…)不是函数,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我试图使用react钩子导出一个正常的功能组件,但是我得到了这个错误 TypeError:对象(…)不是函数 当我移除钩子并导出它时,它没有任何状态。导出与类组件相同的代码也有效 import React,{ useState } from 'react'; const Mycomponent = () => { const [count, setCount] = useState(0); return ( <div> <p>You

我试图使用react钩子导出一个正常的功能组件,但是我得到了这个错误

TypeError:对象(…)不是函数

当我移除钩子并导出它时,它没有任何状态。导出与类组件相同的代码也有效

import React,{ useState } from 'react';

const  Mycomponent = () => {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

export default Mycomponent;
import React,{useState}来自“React”;
常量Mycomponent=()=>{
const[count,setCount]=useState(0);
返回(
您单击了{count}次

设置计数(计数+1)}> 点击我 ); } 导出默认Mycomponent;
下面是我如何导入和使用功能组件

import Mycomponent from './mycomponet';
class MYClassComponent extends Component {
  render() {
    return (
      <Mycomponent />
    }
}
从“/mycomponet”导入Mycomponent;
类MYClassComponent扩展了组件{
render(){
返回(
}
}
我正在使用
react 16.6.3
创建react应用程序

我正在使用react 16.6.3

这就是问题所在。挂钩是在v16.8中添加的,因此代码中的
useState
未定义的


(这是传输向您隐藏错误的时候之一[如果需要支持较旧的环境,您没有太多选择]。如果这是一个本机的
import
语句,它会失败,并出现一个有用的错误,说明React没有名为导出的
useState
。但是当使用React的CJS或AMD版本时,您的代码会转换为执行某项操作
var useState=React.useState;
,因此它不会出错,它只会为您提供
未定义
-这不是一个函数。:-)

您使用的绑定器和绑定器设置是什么?编译/传输的代码是什么样子的?您是否验证了
useState
实际上是一个函数?您使用的是React的哪个版本(和分发文件)?我使用的是React
16.6
和used
creat React app
@saurabh-React挂钩从v16.8版开始提供。