【问题标题】:Material-ui: Module 'material-ui' has no exported members withStylesMaterial-ui:模块“material-ui”没有带有样式的导出成员
【发布时间】:2018-09-10 14:42:54
【问题描述】:

您好,我是使用 material-ui 的新手。使用 material-ui-next 时遇到问题。

我做了一些研究,删除了这些软件包并重新安装了它们。但是,我不断收到与“withStyles”相同的错误

玩弄表格和/其他组件。

但是我收到此错误:模块 'material-ui/styles' 没有导出的成员 'withStyles'

import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import AppBar from 'material-ui/AppBar';
import Toolbar from 'material-ui/Toolbar';
import Typography from 'material-ui/Typography';
import Button from 'material-ui/Button';
import IconButton from 'material-ui/IconButton';
import MenuIcon from 'material-ui-icons/Menu';

const styles = {
  root: {
    flexGrow: 1,
  },
  flex: {
    flex: 1,
  },
  menuButton: {
    marginLeft: -12,
    marginRight: 20,
  },
};

function ButtonAppBar(props) {
  const { classes } = props;
  return (
    <div className={classes.root}>
      <AppBar position="static">
        <Toolbar>
          <IconButton className={classes.menuButton} color="inherit" aria-label="Menu">
            <MenuIcon />
          </IconButton>
          <Typography variant="title" color="inherit" className={classes.flex}>
            Title
          </Typography>
          <Button color="inherit">Login</Button>
        </Toolbar>
      </AppBar>
    </div>
  );
}

ButtonAppBar.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(ButtonAppBar);

这是我的 package.json:

"dependencies": {
    "axios": "^0.18.0",
    "material-ui": "^1.0.0-beta.39",
    "material-ui-icons": "^1.0.0-beta.36",
    "material-ui-next": "^1.0.0-beta.39",
    "material-ui-next-types": "^1.0.0",
    "prop-types": "^15.6.0",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-ionicons": "^2.1.6",
    "react-redux": "^5.0.7",
    "react-scripts": "1.1.1",
    "react-tap-event-plugin": "^3.0.2",
    "redux": "^3.7.2"
  },

我以前使用材料 ui 原始版本。不是material-ui-next。当我尝试迁移时,我也收到此错误。我希望看看是否有人能指出我正确的方向和/或让我知道我做错了什么。

"元素类型无效:应为字符串(对于内置组件) 或类/函数(用于复合组件)但得到:未定义。你 可能忘记从定义它的文件中导出您的组件, 或者您可能混淆了默认导入和命名导入。”

【问题讨论】:

    标签: reactjs material-design material-ui


    【解决方案1】:

    我遇到了问题,但我的路径错误(使用 Beta.44)我刚刚更改了

    import {StyleRules, withStyles, WithStyles} from 'material-ui/styles';
    

    import {StyleRules, withStyles, WithStyles} from 'material-ui/styles/index';
    

    这是一个很好的资源 https://medium.com/@liangchun/integrating-material-ui-next-with-your-react-typescript-project-80847f7eab64

    【讨论】:

      【解决方案2】:

      您的 package.json 依赖项应如下所示:

      "dependencies": {
          "axios": "^0.18.0",
          "material-ui": "^1.0.0-beta.33",
          "material-ui-icons": "^1.0.0-beta.17",
          "prop-types": "^15.6.0",
          "react": "^16.2.0",
          "react-dom": "^16.2.0",
          "react-ionicons": "^2.1.6",
          "react-redux": "^5.0.7",
          "react-scripts": "1.1.1",
          "react-tap-event-plugin": "^3.0.2",
          "redux": "^3.7.2"
        }
      

      我删除了名称中带有next 的材料 ui 包。

      【讨论】:

      • 嗨,@John Kennedy 感谢您的帮助。我删除了具有下一个的两个依赖项。我仍然看到导入 { withStyles } 的问题。我认为这也可能导致我收到的第二个错误。我尝试重新安装 material-ui@next 的软件包,但没有任何运气。
      • @AlejandroRoman 请安装我在 package.json 中指定的确切版本。这适用于我的机器,我可以导入 withStyles 错误。
      • 解决了我的问题。我非常感谢您的帮助!谢谢。只是出于好奇,您是否会碰巧知道是不是因为最新版本不支持这些导入?它有效,但我的编辑仍在抱怨它们。
      • 我认为最新版本可能改变了withStyles 的导出方式。在软件包的最终版本发布之前,很多事情都会发生变化。您只需坚持已经在工作的内容并保持这种状态,直到最终版本与最终文档一起发布。
      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 2021-11-07
      • 2016-10-21
      • 2018-08-03
      • 2021-01-28
      • 2017-11-14
      • 2021-06-30
      • 2018-03-19
      相关资源
      最近更新 更多