React.js Academy for Beginners with Firebase

Chris Dixon, Web Developer & Online Teacher

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
46 Lessons (6h 33m)
    • 1. Welcome to the course

      2:39
    • 2. What we will be building

      3:55
    • 3. What you will need for this course

      2:08
    • 4. Create React App

      4:13
    • 5. Project files & folders

      11:35
    • 6. A closer look at components

      3:28
    • 7. Components in action

      11:47
    • 8. First look at state and JSX

      11:09
    • 9. Component lifecycle and looping

      5:35
    • 10. Passing data as props

      15:02
    • 11. Passing methods as props

      16:00
    • 12. Prop type validation

      10:00
    • 13. Controlled components

      15:52
    • 14. Uncontrolled components and refs

      9:32
    • 15. Create new card form

      6:22
    • 16. Setting up React router

      8:34
    • 17. Passing props to a router component

      3:36
    • 18. URL parameters

      6:45
    • 19. Using withRouter and push

      7:36
    • 20. Passing state via router

      5:10
    • 21. Setting up Firebase

      10:22
    • 22. Pushing data to Firebase

      14:22
    • 23. Reading data from Firebase

      15:28
    • 24. The where & orderBy methods

      17:29
    • 25. Deleting cards and lists from Firebase

      8:41
    • 26. Deleting boards

      14:39
    • 27. Updating data in Firebase

      9:41
    • 28. Edit card modal

      13:37
    • 29. Updating the card text

      9:04
    • 30. Setting the labels

      8:07
    • 31. Text area auto resize

      5:57
    • 32. First look at onSnapshot

      6:34
    • 33. Working with document changes

      3:51
    • 34. Realtime cards with updates

      7:08
    • 35. React Context API

      12:21
    • 36. Firebase Authentication and set up

      6:36
    • 37. User sign up

      5:05
    • 38. Logging in and out

      8:55
    • 39. Listening for auth changes

      3:31
    • 40. Conditional rendering

      14:07
    • 41. Rendering boards based on user

      5:02
    • 42. Redirecting and error messages

      11:31
    • 43. Roles & permissions

      10:27
    • 44. Building for production

      3:02
    • 45. Deploying to Netlify

      4:48
    • 46. Thank you

      1:34

About This Class

React is one of the most popular and in demand technology in modern web development!

This course is designed to teach you everything you need to know to build modern applications using React.

Using a component based approach, React allows you to build interactive user interfaces using Javascript.

This course is completely project based and everything you learn will be instantly put into practice into one big project.

We will be building a Trello inspired project which will allow us to take advantage of React's features including:

  • Scaffolding projects using Create React App

  • React file and folder structure and what they do

  • What components are and how to use them

  • Writing JSX

  • Class based and function components

  • Managing state

  • Looping through data

  • Using props to pass data and methods to components

  • Prop validation

  • Styling components

  • Forms and inputs using controlled and uncontrolled components

  • Setting up React router

  • Passing router props

  • URL Parameters

  • Using withRouter and push

  • Using the router to pass state

  • Context API

This course is designed for beginners to React, or if you have tried it before and not quite managed to grasp it.

Although HTML, CSS and some basic Javascript experience will help you get the most out of this course.

However we don't stop there! Even thought React handles our user interface, most apps also need a backend too.

We make use of Firebase to provide a realtime database to our project.

This will allow us to not only store our data, but also to keep subscribed to any database changes as they happen, along with the following:

  • Setting up a Firestore database

  • Pushing and reading data from our database

  • Updating and deleting data

  • Sorting and filtering data

  • Realtime data using onSnapshot

  • Handling document changes

We also use Firebase to handle authentication. Users can sign up, log in and out, allowing users to have their own personal boards which only they can see and edit.

We take advantage of React's Context API to pass the users auth state throughout our application, and handle conditional rendering.

To round things off we look at how to build our project for production, and then deploy for the rest of the world to see!

So, if you are looking to learn React, along with building a fun project, enrol in this course and I will see you in class!