2016-08-26 4 views
0

最近、マテリアルUIをバージョン0.15.4に更新して動作させようとしました。私が得ているエラーは、getMuiThemeは関数ではなく、フォルダの場所にrelant jsファイルが含まれているにも関わらず、自分の反応をチェックして15.3.1に更新したので、依存関係の問題ではないことを願っています。しかし、私は問題が何であるかを理解できないようです。ここでMaterial-UI:Uncaught TypeError:getMuiThemeが関数ではありません

は、コードサンプルです:

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; 

答えて

3

問題がmaterial-ui/styles/getMuiTheme.jsがES2015ソースからtranspiledされ、そしてあなたが望む機能をデフォルトとしてエクスポートされていることです。返信用

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

ありがとう:あなたはrequire()で、この関数を参照する場合

は、あなたがdefaultプロパティを使用する必要があります。別のコンポーネントで、同じchildContextTypesを追加するとき。 "エラー:要素タイプが無効です:組み込みコンポーネント用の文字列またはコンポジットコンポーネント用のクラス/関数が必要ですが、未定義です。" PortalPage'のレンダリングメソッドを確認してください。 "あなたは何が間違っている可能性があるか考えていますか?再度、感謝します。 –

+0

@AdityaPatel未定義の参照をレンダリングしようとしているようです。おそらく、いくつかのコードを含む新しい質問を作成する必要があります。 – robertklep

+0

返事をありがとう。私の質問へのリンクは次のとおりです:http://stackoverflow.com/questions/39164577/material-ui-error-element-type-is-invalid-after-updating-to-ver-0-15-4 –

関連する問題