Material UIとReactJSは初めてです。 Create-React-App(CRA) および reactstrap で遊んでいます。私の質問は、マテリアルUIとCRAを一緒に使用してアプリを構築できますか?
最初のインストールmaterial-ui
npm install --save material-ui
または
yarn add material-ui
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;
要約すると、次のことを行う必要があります。
必要なパッケージをインストールします。
App.js
のMuiThemeProvider
コンポーネントをインポートし、MuiThemeProviderコンポーネントでアプリdivを囲みます
material-ui
のコンポーネントをインポートして使用できます0.19.1より前のmaterial-uiのバージョンが必要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();
react-tap-event-plugin
のindex.js
からinjectTapEventPlugin
をインポートし、初期化します。 injectTapEventPlugin
は、iOSでタップ遅延を削除するために使用されます。