Material-UI: Uncaught TypeError: getMuiTheme is not a function

Material-UI: Uncaught TypeError: getMuiTheme is not a function

我最近将我的 material-ui 更新到版本 0.15.4 并试图让它工作。我得到的错误是 getMuiTheme 不是函数,即使文件夹位置包含相关的 js 文件,我也检查并更新了我对 15.3.1 的反应,所以希望这不是依赖性问题。但我似乎无法弄清楚可能是什么问题。

这是代码示例:

var React = require('react'),
  mui = require('material-ui'),
  getMuiTheme = require('material-ui/styles/getMuiTheme'),
  LoginDialog = require('./login-dialog.jsx'),
  RaisedButton = mui.RaisedButton,
  MuiThemeProvider = require('material-ui/styles/MuiThemeProvider'),
  darkBaseTheme = require('material-ui/styles/baseThemes/darkBaseTheme');



var Index = React.createClass({

  getChildContext: function() {
    return {
      muiTheme: getMuiTheme(darkBaseTheme),
    };
  },

  childContextTypes: {
    muiTheme: React.PropTypes.object
  },
  render: function() {
    return (
      <div className="mui-app-canvas home-page-background">
        <RaisedButton
          className="login-button"
          label="Login"
          onTouchTap={ this._handleLoginDialog }
          linkButton={ false } />
        <LoginDialog
          ref="loginDialog"
          loginUrl={ this.props.loginUrl } />
      </div>
    )
  },

  _handleLoginDialog: function() {
    this.refs.loginDialog.show();
  }
});

module.exports = Index;

问题是 material-ui/styles/getMuiTheme.js 是从 ES2015 源码转译过来的,你想要的函数是默认导出的。

如果你想用require()引用这个函数,你需要使用default 属性:

getMuiTheme = require('material-ui/styles/getMuiTheme').default