无法读取未定义的“组件”:使用带有browserify的material-ui

时间:2015-06-08 19:53:39

标签: javascript reactjs browserify

我正在使用browserify来管理我的依赖项,正如material-ui setup doc所建议的那样。当我尝试运行我的代码时,控制台会给我这条消息:

Uncaught TypeError: Cannot read property 'component' of undefined,可追溯到bundle.js:6769

在我的bundle.js文件中,第6769行是此函数的return语句:

    getThemeButton: function getThemeButton() {
        return this.context.muiTheme.component.button;
    },

我在这里缺少什么?我需要使用material-ui和我正在使用的material-ui组件的语句。

我的index.js文件的顶部如下所示:

    var React = require('react');
    var injectTapEventPlugin = require('react-tap-event-plugin');
    var mui = require('material-ui');
    var RaisedButton = mui.RaisedButton;

    injectTapEventPlugin();

1 个答案:

答案 0 :(得分:2)

找到隐藏在docs中的答案!

显然这是材料的必要部分 - ui(我不知道为什么他们没有将它作为设置的一部分包含在内),但是我需要在我的渲染类中包含这个片段:

childContextTypes: {
    muiTheme: React.PropTypes.object
},

getChildContext: function() {
    return {
      muiTheme: ThemeManager.getCurrentTheme()
    };
},