Con*_*dor 0 reactjs material-ui
我从这里开始使用示例性应用程序,使用Material ui的简单react组件开始:https : //www.npmjs.com/package/material-ui 我有以下问题
对于给定的代码,这工作正常。但是当我在MuiThemeProvider标签中添加任何其他组件时,它不会呈现任何内容,并且webpack不会引发任何错误。
让我们看下面的例子。我只是复制了MyAwesomeReactComponent两次,但它停止了工作。如果我删除MyAwesomeReactComponent的第二个实例,则此方法工作正常。
import React from 'react';
import ReactDOM from 'react-dom';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import MyAwesomeReactComponent from './MyAwesomeReactComponent';
const App = () => (
<MuiThemeProvider>
<MyAwesomeReactComponent />
<MyAwesomeReactComponent />
</MuiThemeProvider>
);
ReactDOM.render(
<App />,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
这是MyAwesomeReactComponent.js的代码
import React from 'react';
import RaisedButton from 'material-ui/RaisedButton';
const MyAwesomeReactComponent = () => (
<RaisedButton label="Default" />
);
export default MyAwesomeReactComponent;
Run Code Online (Sandbox Code Playgroud)
我们是否需要为每个重要的用户界面组件使用MuiThemeProvider?
不,您不需要它。
有什么办法可以全局使用它吗?
是的,您可以在全球范围内使用它。
将应用程序(根)组件包装成一个MuiThemeProvider组件
//assuming app.js as root one
ReactDOM.render(
<MuiThemeProvider>
<App />
</MuiThemeProvider>, document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
从这里开始,在您的app.js以及嵌套或其他组件中,您可以包含所需的任何主题。
例如app.js中的AppBar
import AppBar from 'material-ui/AppBar';
const AppBarExampleIcon = () => (
<AppBar
title="Title"
iconClassNameRight="muidocs-icon-navigation-expand-more"
/>
);
export default class App extends Component {
render(){
return (<div className="container"><AppBarExampleIcon /></div>)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2348 次 |
| 最近记录: |