Rangle.io: React Training
master
master
  • Rangle React Training Materials
  • lessons
    • redux-hello
    • react-summary
    • redux-action-reducer
    • react-outline
    • react-container
    • redux-intro
    • redux-connect
    • react-component
    • advanced
    • redux-store
    • redux-logging
    • redux-thunk
    • react-cardlist
    • redux-merge
    • react-lifecycles
    • react-intro
  • CONDUCT
  • misc
    • summary
    • refs
    • overview
    • guide
    • gloss
  • LICENSE
  • index
  • rough-slides
    • react-training-slides
  • CONTRIBUTING
Powered by GitBook
On this page
  • What Do We Mean by "Lifecycle"?
  • Mounting
  • Updating
  • Unmounting
  • Using These

Was this helpful?

  1. lessons

react-lifecycles

Previousredux-mergeNextreact-intro

Last updated 5 years ago

Was this helpful?

What Do We Mean by "Lifecycle"?

  • Lifecycles are phases of an object's existence where we might want to add or replace logic

![Lifecycle Methods]()

FIXME: Replace with a Rangle version

Mounting

  • This group called when a component is created and inserted into the DOM

  • constructor: when a component is created

    • Do basic state initialization here

  • componentDidMount: called after a component has finished mounting

    • AJAX calls that can cause component re-renders should go here

  • componentWillMount: called during server rendering

    • Use constructor otherwise.

Updating

  • This group called When a component's props or state has changed.

  • shouldComponentUpdate: called after a component's props or state has changed.

    • Decides whether or not a component should re-render

    • Main use is performance optimization

  • componentWillUpdate and componentDidUpdate: called before and after a component re-renders

    • Any manual work done outside of React when updates happen should be done here

    • E.g., encapsulation of 3rd party UI libraries within a component

  • componentWillReceiveProps: called before a component has received props whose values have changed

Unmounting

  • Called when a component is destroyed and removed from the DOM

  • componentWillUnmount: do clean-up here

    • E.g., remove 3rd party listeners, unsubscribe, etc.

Using These

class App extends Component {
  constructor() {
    // as before
  }

  componentDidMount() {
    apiCall("https://jsonplaceholder.typicode.com/users")
      .then(response =>
        this.setState({
          robots: response,
          isPending: false
        })
      )
  }
}
export const apiCall = (link) =>
  fetch(link).then(response =>
      response.json()
  )
this diagram