Yim*_*ing 21 reactjs material-ui
我在控制台中收到此消息:
失败的上下文类型:
muiTheme未指定 必需的上下文AppBarAppBar.js:158 Uncaught TypeError:无法读取未定义的属性'prepareStyles'
我在我的组件中只有一个AppBar我认为它应该可以工作但是...这里我的代码非常简单:
import React from 'react';
import {AppBar} from 'material-ui';
    export class MyComponent extends React.Component {
        render() {
            return (
                <div>
                    <AppBar
                        title="Title"
                    />
                </div>
            );
        }
    }
谢谢你的帮助......
小智 33
使用material-ui@0.15.0.beta-1,一些事情发生了变化.
您可以在下面的链接中查看更多详细信息. https://github.com/callemall/material-ui/blob/master/CHANGELOG.md
因此,通过这些更改,您的代码变为
    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,
        };
Dus*_*vak 20
现在在0.15.0你可以使用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>
)
...
因此,您不必为儿童提供上下文.更多信息在文档中.
导入 MuiThemeProvider,然后用 MuiThemeProvider 包裹 material-ui 组件 AppBar。
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;
| 归档时间: | 
 | 
| 查看次数: | 18570 次 | 
| 最近记录: |