sau*_*abh 4 javascript reactjs react-hooks
我正在尝试使用 react 钩子导出一个正常的功能组件,但出现此错误。
类型错误:Object(...) 不是函数
当我移除挂钩并在没有任何状态的情况下将其导出时,它可以工作。导出与 Class 组件相同的代码也有效。
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;
Run Code Online (Sandbox Code Playgroud)
这是我导入和使用功能组件的方式。
import Mycomponent from './mycomponet';
class MYClassComponent extends Component {
render() {
return (
<Mycomponent />
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用react 16.6.3
和使用create-react-app
.
我正在使用反应 16.6.3 ...
那就是问题所在。钩子是在 v16.8 中添加的,所以useState
在你的代码中是undefined
.
(这是转译对你隐藏错误的时候之一[如果你需要支持旧环境,你没有太多选择]。如果这是一个原生import
语句,它会失败并显示一个有用的错误,说 React 没有没有useState
命名导出。但是当使用 CJS 或 AMD 版本的 React 时,您的代码会被转换为正在执行的操作var useState = React.useState;
,因此它不会出错,它只是给您undefined
——这不是一个函数。:-))
归档时间: |
|
查看次数: |
11091 次 |
最近记录: |