Material Design is a language of design that was introduced by Google in 2014 for creating more complex, responsive web applications and mobile applications. To use material design in React web applications we need to installa Material UI library in our project. The Material UI open source library provides a set of components that we can use in React applications. We can customize the theme and components of Material UI library.
Official website
https://material-ui.com
Prerequisites
Steps for Material UI installation:
Steps 1
To install Material UI library, we need to create a React application.
Execute the following npm command to create a web application.
npx create-react-app reactjs-materailui
Create a project
Steps 2
Now, change the project directory and run development server.
Use the below command,
cd reactjs-materailui
npm start
Run npm command
After successful execution of the above command, it will automatically open the browser and run your newly created application on the browser.
Default URL :- http://localhost:3000/
Startup page of React application,
Default screen of react app
Steps 3
Next, we need to install Material UI library by using the below command,
npm install @material-ui/core
Install material UI lib
Steps 4
We need to import/install Roboto Font in our application. (Material UI library was designed with Roboto font.)
using CDN: - add below CDN link into index.html
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
Index page
Using install library
Execute the below command,
npm install typeface-roboto –save
Import following line of code into index.js file (Need to import into entry point)
import 'typeface-roboto';
Steps 5
Import Material icons to use the font icon component. Execute the below command to install icons.
npm install @material-ui/icons
Steps 6
Now, it;s time to open your project in code editor. Execute the below command to open created project in Visual Studio code.
code .
Open vs code editor
Steps 7
Check material UI library and Roboto font entry into package.json file
package josn file
Let’s create a login form using Material UI,
In this example, I am going to create a basic login form UI using Material UI library so that you will get an idea about how to add component in React applications and how to use that component in project code.
Demo screen
Demo login form
Remove existing code from App.js file and add a basic code like below,
  1. import React from 'react';
  2. class App extends React.Component {
  3. render() {
  4. return (
  5. );
  6. }
  7. }
  8. export default App;
To add text box for email address and password field, import TextField component from Material UI library. To add button for login form we should import Button component, similarly Grid component for grid layout, Typography for heading. Import the below line of code into App.js file
  1. import TextField from '@material-ui/core/TextField';
  2. import Button from '@material-ui/core/Button';
  3. import Grid from '@material-ui/core/Grid';
  4. import Typography from '@material-ui/core/Typography';
To create a textbox for email address we need to add TextField component in App component of App.js. Add TextField tag like below code in App component.
Code
  1. class App extends React.Component {
  2. render () {
  3. return (
  4. <TextField
  5. variant="outlined"
  6. margin="normal"
  7. label="Email Address"
  8. />
  9. );
  10. }
  11. }
  12. export default App;
Text box
Similarly, add <Button /> tag and <Grid /> tag for creating button and grid layout.
Complete Code
  1. import React from 'react';
  2. import Button from '@material-ui/core/Button';
  3. import TextField from '@material-ui/core/TextField';
  4. import Grid from '@material-ui/core/Grid';
  5. import Typography from '@material-ui/core/Typography';
  6. import 'typeface-roboto';
  7. class App extends React.Component {
  8. handleLogin = () => {
  9. alert("Login form example using MATERIAL UI");
  10. }
  11. render() {
  12. return (
  13. <Grid
  14. container
  15. spacing={0}
  16. direction="column"
  17. alignItems="center"
  18. justify="center"
  19. style={{ minHeight: '100vh' }}
  20. >
  21. <Typography component="h1" variant="h5">
  22. Log in
  23. </Typography>
  24. <form onSubmit={this.handleLogin}>
  25. <TextField
  26. variant="outlined"
  27. margin="normal"
  28. fullWidth
  29. label="Email Address"
  30. />
  31. <TextField
  32. variant="outlined"
  33. margin="normal"
  34. fullWidth
  35. label="Password"
  36. type="password"
  37. />
  38. <Button
  39. type="submit"
  40. fullWidth
  41. variant="contained"
  42. color="primary"
  43. >
  44. Log In
  45. </Button>
  46. </form>
  47. </Grid>
  48. );
  49. }
  50. }
  51. export default App;
Output
Login form design
You can see I have created a basic login form design using Material UI library. Design is looking nice and responsive with proper spacing, coloring, and heading.

Summary

In this article, I discussed Material UI library and how to install Material UI library in React web applications. At the end of this article, we saw how to add Material UI components in React web applications and an example of basic login form design.