JS-201-ReactFundamentals
  • Part 0: App Overview
  • Part 1: Intro to React
    • 1.0: Packages Setup
    • 1.1: Project Setup
    • 1.2: React Router Dom
  • Part 2: JavaScript Concepts
    • 2.0: ES6 Overview
    • 2.1: classes
    • 2.2: constructors
    • 2.3: extends
    • 2.4: super
    • 2.5: interpolation
    • 2.6: map
    • 2.7: filter
  • Part 3: Functional Components
    • 3.0: Functional Components Overview
    • 3.1: Calling Functional Components
    • 3.2: Single Element Rule
    • 3.3: Arrow Functions
    • 3.4: Challenge
    • 3.4: Solution
    • 3.5: Challenge 2
    • 3.5: Solution 2
  • Part 4: JSX Challenge
    • 4.1: JSX Overview
    • 4.1: Challenge Answer
    • 4.2: className
  • Part 5: Class Concepts
    • 5.1: State
    • 5.2: setState
    • 5.3: Class Components Challenge
    • 5.4: Class Components Challenge Answer
  • Part 6: Props Starter
    • 6.0: Props Overview
    • 6.1: Props Demo and Challenge 1
    • 6.2: Props Answer 2
    • 6.3: Props Passing Functions and Challenge 2
    • 6.4: Props Answer 2
    • 6.5: External Props and Mapping Components
    • 6.6: PropTypes
  • Part 7: Lifecycle Methods
    • 7.0: Lifecycle Overview
    • 7.1: Lifecycle Methods
    • 7.2: Mounting Methods
    • 7.3: Update Methods
    • 7.4: Unmount Methods
  • Part 8: Apps
    • 1.0 - Small Timer Apps
      • 1.1 - Simple Timer
      • 1.2 - Clock App
      • 1.3 - Stop Watch App
      • 1.4 - Challenge
    • 2.0 - Concept List
      • 2.1 - Concept Data
      • 2.2 - Concept App Component
      • 2.3 - Concept Component
      • 2.4 - Concept List Component
    • 3.0 - NYT
      • 3.1 - NytApp Component
      • 3.2 - Nyt Results
    • 4.0 - The Friend List App
      • 4.1 - Friend List App Component
      • 4.2 - Friend Component
    • 5.0 - Movie Search Application
      • 5.1 - Form Component
      • 5.2 - Form Results Component
      • 5.3 - Styled Components
    • 6.0 - YouTube Api
      • 6.1 - Video Component
      • 6.2 - Video Component
      • 6.3 - Video Component
    • 7.0 - Github Api Application
      • 7.1 - The Users
      • 7.2 - Github API Component
      • 7.3 - Github API Card
      • 7.4 - Github API Card Form
      • 7.5 - Github API Card List
      • 7.6 - Github API Search
      • 7.7 - Github API Challenge
    • 8.0 - Bitcoin Api Application
      • 8.1 - Bitcoin API Setup
      • 8.2 - Bitcoin API Fetch
      • 8.3 - Bitcoin API Line Chart
      • 8.4 - Bitcoin API Fetching Data
      • 8.5 - Bitcoin API Info Box
      • 8.6 - Bitcoin API Completed Code
    • 9.0 - Google Maps Api Challenge
    • 10.0 - Sound Cloud App Challenge
    • 11.0 - VR App Challenge
    • 12.0 - React Native Intro
  • Part 9: Project
  • Part 10: Notes
    • 10.1 - Resources
    • 10.2 - Troubleshooting
Powered by GitBook
On this page
  • Common Methods
  • render() *
  • componentDidMount() *
  • Challenge
  1. Part 7: Lifecycle Methods

7.2: Mounting Methods

A React Component kicks off the life cycle during the initial application ex: ReactDOM.render(). With the initialization of the component instance, we start moving through the mounting phase of the life cycle. The biggest focus of the mounting phase is the initial configuration for our Component instance. This is where we pass in the props, configure the default state and get access to the initial UI display. This also starts the mounting process for any children of the Component.

While the entire process of mounting is definitely worth knowing, we're going to get you started on the methods that you'll use most often when writing React applications.

Common Methods

render() *

The render() method starts in the mounting phase and continues to exist in the update phases. One important thing to note about the render() method is all it should be doing is rendering, do not have any calculations or anything in this method that will change the state or props. Do not call setState() in render(). Doing so will cause the render() method to trigger infinitely, as react re-renders on state change. Luckily, react is great about pointing problems like these out if you do unintentionally do this.

componentDidMount() *

The last step in the Mount life cycle phase is componentDidMount(). This method is called once all of the component's children are mounted. Important to know is that componentDidMount() is only called one time. Unlike our other Mount methods, where we start at the top and work down, componentDidMount() works from the bottom up, starting from the children components and working upward. So by the time our parent component hits componentDidMount() we know that children components have all gone through it as well.

Useful things to do in this life cycle method include:

  • Making API Calls (this is common and important to remember)

  • Initializing 3rd party libraries

  • Setting up listeners/subscriptions

Challenge

A helpful means of learning about life cycle components is writing console.log() statements inside of the life cycle methods. You can do it like this:

class JSXCompiler extends React.Component {
    constructor() {
        super();
        this.state = {
            input: '/* add your jsx here */',
            output: '',
            err: ''
        }
    }
    componentDidMount(){
        console.log("Component will mount");
    }

In any case, start to learn the lifecycle methods by finding a way to step through some of the birthing and mounting lifecycle methods in the console so that you can see the order in which they are fired.

Previous7.1: Lifecycle MethodsNext7.3: Update Methods

Last updated 7 years ago

You can also find some logging package that shows off the life cycle methods. We used this in our code. This gives us the following effect in our console:

one
Update Methods
Life Cycle Diagram