I cannot use material-ui components after update to material-ui@0.15.0-beta.1

后端 未结 3 1604
青春惊慌失措
青春惊慌失措 2021-02-07 01:58

I got this message in my console:

Failed Context Types: Required context muiTheme was not specified in AppBar

AppB

相关标签:
3条回答
  • 2021-02-07 02:35

    now in the 0.15.0 you can use muiThemeProvider:

    ...
    
    import getMuiTheme from 'material-ui/styles/getMuiTheme';
    import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
    import MyAwesomeReactComponent from './MyAwesomeReactComponent';
    
    const App = () => (
     <MuiThemeProvider muiTheme={getMuiTheme()}>
        <MyAwesomeReactComponent />
     </MuiThemeProvider>
    )
    
    ...
    

    So you do not have to provide context to childrens manualy. More info in documentation.

    0 讨论(0)
  • 2021-02-07 02:38

    With material-ui@0.15.0.beta-1 a few things were changed.

    You can have a look on the link below for more details. https://github.com/callemall/material-ui/blob/master/CHANGELOG.md

    Therefore with those changes your code becomes:

        import React from 'react';
        import AppBar from 'material-ui/AppBar';
        import baseTheme from 'material-ui/styles/baseThemes/lightBaseTheme';
        import getMuiTheme from 'material-ui/styles/getMuiTheme';
    
            export class MyComponent extends React.Component {
    
                getChildContext() {
                    return { muiTheme: getMuiTheme(baseTheme) };
                }
    
                render() {
                    return (
                        <div>
                            <AppBar
                                title="Title"
                            />
    
                        </div>
                    );
                }        
            }
    
            MyComponent.childContextTypes = {
                muiTheme: React.PropTypes.object.isRequired,
            };
    
    0 讨论(0)
  • 2021-02-07 02:52

    Import MuiThemeProvider and then wrap the material-ui component AppBar with MuiThemeProvider.

    import React, { Component } from 'react';
    import AppBar from 'material-ui/AppBar';
    import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
    import './App.css';
    
    class App extends Component {
    
      render() {
    
        return ( 
          <MuiThemeProvider>
            <div>
              <AppBar title = "Title" />
            </div> 
          </MuiThemeProvider>
        );
      }
    }
    
    export default App;
    
    0 讨论(0)
提交回复
热议问题