layout | permalink |
---|---|
page |
/react-lifecycles/ |
- Lifecycles are phases of an object's existence where we might want to add or replace logic
FIXME: Replace this diagram with a Rangle version
- 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.
- 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
andcomponentDidUpdate
: 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
- Called when a component is destroyed and removed from the DOM
componentWillUnmount
: do clean-up here- E.g., remove 3rd party listeners, unsubscribe, etc.
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()
)