Javascript TypeError:react\uuu网页包\u导入的\u模块\uu 6\uuuuuu默认值.a.useState不是函数
下面我提供了我的ReactJS代码的简化草图(基于)。这段代码没有编译,因为我可能在错误的位置添加了Javascript TypeError:react\uuu网页包\u导入的\u模块\uu 6\uuuuuu默认值.a.useState不是函数,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,下面我提供了我的ReactJS代码的简化草图(基于)。这段代码没有编译,因为我可能在错误的位置添加了函数handleClickOpen()和函数handleClose()。 我怎样才能修好它 具体而言,以下是错误消息: TypeError:react\u网页包\u导入的\u模块\u 6\u默认值为a.useState 不是功能 import React,{Component,Fragment}来自'React'; 从“@material ui/core/Slide”导入幻灯片; 常量转换=Rea
函数handleClickOpen()
和函数handleClose()
。
我怎样才能修好它
具体而言,以下是错误消息:
TypeError:react\u网页包\u导入的\u模块\u 6\u默认值为a.useState
不是功能
import React,{Component,Fragment}来自'React';
从“@material ui/core/Slide”导入幻灯片;
常量转换=React.forwardRef(函数转换(props,ref){
回来
});
类控件扩展组件{
render(){
const[open,setOpen]=React.useState(false);
函数handleClickOpen(){
setOpen(真);
}
函数handleClose(){
setOpen(假);
}
返回(
# ...
);
}
}
出口管制;
根据React文档,我们不能在基于类的组件中使用钩子,请参见下面的url
useState
这样的钩子只用于功能组件import React,{useState,Fragment}来自“React”;
从“@material ui/core/Slide”导入幻灯片;
常量转换=React.forwardRef(函数转换(props,ref){
回来
});
功能控制(道具){
const[open,setOpen]=React.useState(false);
函数handleClickOpen(){setOpen(true);}
函数handleClose(){setOpen(false);}
返回(
//随便
)
}
出口管制;
我尝试按照您的建议将底部控件更改为功能。仍然会出现相同的错误。那么,您是否检查了react
和react dom
的版本是否为16.8或更高版本?我该怎么做?我试图运行npm ls react dom-g
。它返回:/usr/local/lib└── (空)
您可以检查我检查的版本。是16.7.0。我应该如何更新它?对于16.7.0
,有什么解决方案吗?
import React, { Component, Fragment } from 'react';
import Slide from '@material-ui/core/Slide';
const Transition = React.forwardRef(function Transition(props, ref) {
return <Slide direction="up" ref={ref} {...props} />;
});
class BottomControls extends Component {
render() {
const [open, setOpen] = React.useState(false);
function handleClickOpen() {
setOpen(true);
}
function handleClose() {
setOpen(false);
}
return (
<Fragment>
# ...
</Fragment>
);
}
}
export default BottomControls;
import React, { useState, Fragment } from 'react';
import Slide from '@material-ui/core/Slide';
const Transition = React.forwardRef(function Transition(props, ref) {
return <Slide direction="up" ref={ref} {...props} />;
});
function BottomControls(props) {
const [open, setOpen] = React.useState(false);
function handleClickOpen() { setOpen(true); }
function handleClose() { setOpen(false); }
return (
<Fragment>
// whatever
</Fragment>
)
}
export default BottomControls;