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
我最近将我的 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