Learning ReactJs User Interfaces
3.4 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
39 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning ReactJs User Interfaces to your Wishlist.

Add to Wishlist

Learning ReactJs User Interfaces

Create dynamic and animated user interfaces with React
3.4 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
39 students enrolled
Created by Packt Publishing
Last updated 2/2017
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 3.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand hot reloading to update pages as a result of interface interaction
  • Create different UI components for your sites such as buttons andjumbotrons
  • Create button components using Bootstrap 4.0
  • Explore deeper integrations with JSX and ES6 to create reusable components
  • Understand the importance of componentizing our HTML into JavaScript
  • Find out how to animate React components
View Curriculum
  • In order to take this course, you should have some familiarity with React, Node.js, and NPM. You should also have a good knowledge of JavaScript.

Every great website needs a great user interface, and without one, your users will soon leave. The React stack is the perfect tool to create amazing modern dynamic interfaces, and this course will take you stepbystep through how to build them. You will learn the practical skills needed to make great interface components that incorporate other web development tools, such as Bootstrap, SASS, and hot reloading. React is an incredibly popular part of modern full stack web development, and is a keystone of fluid SPAs (single page applications). As part of a full stack, it all you need to create full web applications.

The course begins by ensuring you have a solid understanding of Bootstrap and JSX, so you can create React components that can automatically refresh, enabling fully dynamic interfaces. We then introduce ES6 into the mix, showing you how the latest web technologies can be used to make your user interfaces even better. Next, you will see how to integrate and componentize CSS into React using SASS, enabling you to style your components using web standard techniques. Finally, we will dive into animation, and you’ll understand states and events to create reactive user interface components.

About The Author

Ben Fhala discovered his passion for data visualization six years ago while he was working at Parsons in New York, in their data visualization department, PIIM. He enjoys spending most of his time learning and teaching and has a love for visual programming and visualization in general. Ben has had the honor of developing applications for members of the US Congress, Prime Ministers, and Presidents around the world. He has built many interactive experiences for companies such as Target, AT&T, Crayola, Marriott, Neutrogena, and Nokia. He has technically directed many award-winning projects and has been part of teams that have won three Agency of the Year awards.

Who is the target audience?
  • This course can either be taken as a modular part of Packt’s complete Full-Stack React course or as a standalone module
Students Who Viewed This Course Also Viewed
Curriculum For This Course
27 Lectures
Bootstrapping React
6 Lectures 59:39

In this video, we will start up our foundations for our project. 

Preview 14:25

Most interactions that we will do in the modern web happen within a real server and as such we must aim to have our development tested in a web browser environment as well. 

Setting up Webpack and WebPack-Dev-Server

Now that we got the basics of the technical things behind us it is time to move into exploring a bit of Bootstrap 4.0.

Bootstrapping our HTML

We are almost ready to start building React components but just before we start building them we need to configure our JavaScript entry point and add it into our HTML.

Hot Reloading with WebPack-Dev-Server

The most common way to develop in React is developing in ES6 and with JSX to be able to do so we need to configure our Webpack to automatically convert our ES6/JSX into ES5 code. By the end of this video, we will have our setup ready for us to code with ES6 and JSX. 

Adding Support for ES6 and JSX with Babel

Now that we have everything configured it’s time for us to meet JSX for the very first time as we create our first react component.

Building our First JSX React Component
Building ES6 React Components
6 Lectures 37:08

We ended the last section with the creation of a JSX React component that was baked right into our main client.js file. In this video we will extract our component into its own ES6 class and in the process start to understand the importance of organizing and componentizing your code in React. 

Preview 07:19

The core premise behind React is building out extremely small and reusable components that do one thing really well. In this video, we will extract out a Bootstrap button and place it in its own dedicated class and then use it. 

Building a Reusable Bootstrap React Button

In the official documentation of Bootstrap buttons, it is encouraged for users to use the “button” tag and not the “a” tag whenever their button will act as a button. Part of that is because of rendering limitations in various browsers. This is turn gives us a great opportunity to talk about dynamic tagging in JSX. 

Creating Dynamic JSX Tags

While our button is now already dynamic and can do most of the things that a Bootstrap button can do we still need to repeatedly add copy. In the following videos we will be working on making our component take on more work to reduce our needs of typing. 

Understanding JSX Spread in Depth

For our Button component to be even more useful, it would be great if we can cut down on the amount of typing we need to do when using it. 

Adding Features to Our Button Component

While buttons can have disabled states, “a” tags cannot and as such we want to fix this issue so that our “a” tag will be disabled as well whenever the user adds the disabled command to our component. 

Making Disabled Tags Work
Creating a Jumbotron React Component
5 Lectures 29:23

While React is highly optimized to create reusable components, one of the common struggles of developers working with the library is figuring out where to place the code that needs to be shared among multiple components. In this video we will solve the first type of content – non-visual content and where to place it in the lifecycle of a React component.

Preview 04:55

Now that we have everything ready it’s time for us to create our second Bootstrap react component – the Jumbotron. 

Creating the Jumbotron Component

Bootstrap uses containers often and as such we need that base class created. In the process we will learn more about planning components and dynamically modifying their settings. Let’s see this is action. 

Building a Reusable Container Class

React has recently added to its features a debugging feature that announces whenever you add non-valid HTML into a document. We’ll see this feature in action. 

Removing Unknown Props from HTML

For our newly created Jumbotron to match the current Bootstrap 4.0 documentation, we don’t need to add a container into it when the Jumbotron is not fluid. To address this we will learn of new ways to integrate children into components. 

Completing Our Jumbotron with a Dynamic Fluid Child
4 Lectures 35:05

One of my favorite features that work so wonderfully with React is using component-based CSS files. To get us to that goal we first need to know how to integrate CSS files modularly into our application. By the end of this video you will have webpack configured to grab CSS files as it is building up and output them into one single CSS output file. 

Preview 10:07

In this video we will set up our project to accept SASS and SCSS files. Once we get all of our webpack configurations ready we will learn how to create variables in SASS and output them into CSS.

Creating SASS Variables

It’s time for us to turn back into Bootstrap and dynamically add SCSS as is needed (and only as needed). By the end of this video you will know how to import SCSS files locally and through the Bootstrap package.

Importing SCSS Files with Webpack

In this video we will show you the basics of how to work with mixins. 

Introducing SCSS Mixins
Animating React Components
6 Lectures 34:55

We had fun building a few interfaces and it’s time for you to continue building your own interfaces but before we wrap things up there are two last major topics that will help you create better interfaces. We will start with animation in this video. 

Preview 06:29

We almost didn’t notice that our button has a hardcoded value in it and in this video we will fix that. 

Choosing Between Children and Props

How can we not talk about user interactions as this whole title is about user interfaces? In this video we will learn how to work with react events and bind their scope. 

Working with Events in React

In this video we will understand what state is and how it differs from properties. 

Understanding How State Works

In this section so far we created one animation that faded our full component in when it was instantiated. In this video, we will learn how to animate new children within a component 

Animating Children with ReactCSSTransitionGroup

In this video we will complete our project and will have animations included into our React components as we explore a few more features of SASS – namely SASS nesting. 

Leaving Animations with SASS Nesting
About the Instructor
Packt Publishing
3.9 Average rating
8,175 Reviews
58,665 Students
686 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.