javascript - 使用MUI按钮时: TypeError: Cannot read property 'borderRadius' of undefined

标签 javascript reactjs material-ui

import React, { Component } from 'react';
import './App.css';
import Screen from './components/Screen/Screen';
import Button from './components/Button/Button';
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';
import pink from '@material-ui/core/colors/pink';

const buttonTheme = createMuiTheme({
  palette: {
    primary: {
      main: '#2dff46',
    },
    secondary: pink,
  }
});


class App extends Component {
  render() {
    return (
      <MuiThemeProvider theme={buttonTheme}>
      <Screen>
        <div>Hello</div>
        <Button variant='contained' color='primary'>
          GO
        </Button>
      </Screen>
      </MuiThemeProvider>
    );
  }
}

export default App;

我只是想创建一个带有一些自定义颜色(主题)的按钮。它可以在没有“theme={buttonTheme}”的情况下工作,但当然它使用默认值。我收到以下错误:

TypeError: Cannot read property 'borderRadius' of undefined
styles
node_modules/@material-ui/core/Button/Button.js:41
  38 | minWidth: 64,
  39 | minHeight: 36,
  40 | padding: '8px 16px',
> 41 | borderRadius: theme.shape.borderRadius,
  42 | color: theme.palette.text.primary,
  43 | transition: theme.transitions.create(['background-color', 'box-shadow', 'border'], {
  44 |   duration: theme.transitions.duration.short

谢谢!!

最佳答案

正如之前的评论中提到的,导入语句不正确。 这:

import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';

应该是这样的:

import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';

关于javascript - 使用MUI按钮时: TypeError: Cannot read property 'borderRadius' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52508383/

相关文章:

JavaScript——Json 字符串到对象的转换

javascript - React navigation withNavigation HOC 在轮播中不起作用

angular - 更新到 Angular 8 后,Material-UI 下拉菜单导致 IE11 出现错误

css - 如何在 material-ui 卡组件中获得相同的宽度?

javascript - IE 和 iframe.elementFromPoint 不传递事件

javascript - 单击确认模式后,事件数据未定义

javascript - 确保组件只能是特定父组件的子组件

javascript - 在组件之间共享状态

javascript - 如何在 JSX 中添加 If...Else 语句而不需要 2 个 if 语句?

javascript - 如何在 React 中使用 material-UI 在 onFocus 事件的文本字段中选择部分文本?