Book Image

React Material-UI Cookbook

By : Adam Boduch
Book Image

React Material-UI Cookbook

By: Adam Boduch

Overview of this book

Material-UI is a component library for rendering UI elements, using modern best practices from React and Material Design. This book will show you how you can create impressive and captivating modern-day web apps by implementing Material Design considerations. The book is designed to help you use a variety of Material-UI components to enhance UI functionality, along with guiding you through React best practices, and using state, context, and other new React 16.8 features. You will start with layout and navigation, exploring the Grid component and understanding how it’s used to build layouts for your Material-UI apps. Using Material-UI components, you’ll then explore the technique of effectively presenting information. In later sections, you will also learn about the different components for user interactions such as the text input component and buttons. Finally, the book will get you up to speed with customizing the look and feel of your app, right from creating a Material-UI theme through to styling icons and text. By the end of this book, you will have developed the skills you need to improve the look and feel of your applications using Material-UI components.
Table of Contents (22 chapters)

Customizing typography

The preferred typeface for Material-UI themes is Roboto. This is by no means the only option, and, indeed, you can install new typefaces and use them in your custom Material-UI theme.

How to do it...

Let's install a couple of new typeface packages so that they're available for use in your application:

npm install --save typeface-exo typeface-ubuntu

Next, you can add a Storybook control for the example that allows you to switch themes, and, as a result, switch fonts:

Here's what the Dialog component looks like when you first load the screen:

Here's what the Dialog component looks like when you change the font type to Exo:

Lastly, here's what the Dialog component looks like...