未能编译.组件定义缺少显示名称反应/显示名称



我试图运行一个javascript应用程序,但它显示了这个错误。我没有找到任何有用的答案。当我评论Button.js时,代码是有效的,但没有显示任何内容。我想这个问题与材料ui框架有关。如果有人能帮助我,我将不胜感激。

Failed to compile.
src/components/CustomButtons/Button.js
Line 15:23:  Component definition is missing display name  react/display-name
Search for the keywords to learn more about each error.

按钮类别:

import React from "react";
// nodejs library that concatenates classes
import classNames from "classnames";
// nodejs library to set properties for components
import PropTypes from "prop-types";
// material-ui components
import { makeStyles } from "@material-ui/core/styles";
import Button from "@material-ui/core/Button";
import styles from "assets/jss/material-dashboard-pro-react/components/buttonStyle.js";
const useStyles = makeStyles(styles);
const RegularButton = React.forwardRef((props, ref) => {
const classes = useStyles();
const {
color,
round,
children,
fullWidth,
disabled,
simple,
size,
block,
link,
justIcon,
className,
muiClasses,
...rest
} = props;
const btnClasses = classNames({
[classes.button]: true,
[classes[size]]: size,
[classes[color]]: color,
[classes.round]: round,
[classes.fullWidth]: fullWidth,
[classes.disabled]: disabled,
[classes.simple]: simple,
[classes.block]: block,
[classes.link]: link,
[classes.justIcon]: justIcon,
[className]: className,
});
return (<Button {...rest} ref={ref} classes={muiClasses} className={btnClasses}>{children}</Button>);
});
RegularButton.propTypes = {
color: PropTypes.oneOf([
"primary",
"info",
"success",
"warning",
"danger",
"rose",
"white",
"twitter",
"facebook",
"google",
"linkedin",
"pinterest",
"youtube",
"tumblr",
"github",
"behance",
"dribbble",
"reddit",
"transparent",
]),
size: PropTypes.oneOf(["sm", "lg"]),
simple: PropTypes.bool,
round: PropTypes.bool,
fullWidth: PropTypes.bool,
disabled: PropTypes.bool,
block: PropTypes.bool,
link: PropTypes.bool,
justIcon: PropTypes.bool,
className: PropTypes.string,
muiClasses: PropTypes.object,
children: PropTypes.node,
};
export default RegularButton;

您应该在导出组件之前定义displayName。

RegularButton.displayName = "Regularbutton";

我发现了一个解决方案,首先我将我的npm从6.x更新到8.5.0。为了做到这一点,我删除了我的计算机的nodejs和npm:

sudo apt-get remove nodejs
sudo apt-get remove npm
sudo apt-get autoremove
which nodejs

如果在最后一个命令中显示某个目录,则使用sudo rm -rf(目录(复制并删除该目录,如:sudo rm -rf /usr/local/bin/npm

对npm做同样的事情:

which npm

在此之后仅sudo apt autoremove,并且为了确保其被删除nodejs --versionnpm --version。我希望终端不会为您显示任何版本。在节点站点下载更新版本,先解压缩.deb,然后解压缩sudo apt-get nodejs,确保已安装nodejs --versionnpm --version现在在npm install . --legacy-peer-depsnpm start项目,为我工作

相关内容

最新更新