将Create-React-App与Material UI一起使用

Chr*_*ris 20 reactjs material-ui create-react-app

我是Material UI和ReactJS的新手.我一直在玩Create-React-App(CRA)reactstrap.我的问题是,我可以一起使用Material UI和CRA来构建应用程序吗?

sud*_*ang 50

首先安装 material-ui

npm install --save material-ui
Run Code Online (Sandbox Code Playgroud)

要么

yarn add material-ui
Run Code Online (Sandbox Code Playgroud)

src/App.js

import React, { Component } from 'react';

import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; // add
import RaisedButton from 'material-ui/RaisedButton'; // add

import logo from './logo.svg';
import './App.css';

class App extends Component {
  render() {
    return (

      <MuiThemeProvider>

      <div className="App">
        <div className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h2>Welcome to React</h2>
        </div>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>

        <RaisedButton label="Material UI" />

      </div>

      </MuiThemeProvider>

    );
  }
}

export default App;
Run Code Online (Sandbox Code Playgroud)

总之,这些是要做的事情:

  • 安装必要的包.

  • 导入MuiThemeProvider组件App.js,在MuiThemeProvider组件中包含app div

  • 现在您可以material-ui像我在这里使用RaisedButton一样 导入和使用任何组件

材料的版本-ui需要0.19.1之前 react-tap-event-plugin

对于这些版本,您必须在index.js中进行此更改

src/index.js

import React from 'react';
import ReactDOM from 'react-dom';

import injectTapEventPlugin from 'react-tap-event-plugin';   // add

import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';

injectTapEventPlugin();  // add

ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
Run Code Online (Sandbox Code Playgroud)
  • 进口injectTapEventPlugin来自react-tap-event-pluginindex.js和初始化它.injectTapEventPlugin用于删除iOS中的点击延迟.