react-materialize
Material design components for react, powered by materializecss.
Install
npm install react-materialize
Use
materializecss)
HTML Setup (from<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css">
</head>
<body>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/js/materialize.min.js"></script>
<script src="path/to/your/bundle.js"></script>
</body>
</html>
JS (ES6)
import { Button, Card, Row, Col } from 'react-materialize';
Docs && Examples
See documentation for live examples. Try out the boilerplate.
Known issues
Create React App
If you are getting errors like $ is not defined
or $(...).modal is not a function
when using with create-react-app, you'll need to downgrade to react15 (as we don't support react16 yet):
yarn add react@15.x react-dom@15.x
Now add jquery
and materialize-css
to public/index.html
via CDN:
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css" rel="stylesheet">
</head>
<body>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/js/materialize.min.js"></script>
</body>
How does it compare to X.Y.Z?
The main goal of this project is to provide react component for materializecss, at the current stage, I am trying to implement all possible widgets that are supported by materializecss. Please create an issue on github if you find you desired component is not available.
There are other material design components for react.js, e.g. material-ui, which is more mature and popular than this one. The main advantage of this project over e.g. material-ui is that it provides a grid system similar to react-bootstrap. Another advantage over material-ui is that react-materialize does not include css in the js - which can be cumbersome to some project's architecture.
Contributions
Yes, please!
We have a help-wanted
label in the issues page for convenience