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>
);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助......
小智 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,
};
Run Code Online (Sandbox Code Playgroud)
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>
)
...
Run Code Online (Sandbox Code Playgroud)
因此,您不必为儿童提供上下文.更多信息在文档中.
导入 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18570 次 |
| 最近记录: |