-> called when component is loaded
-> Called as soon as the component is mounted and ready -> after render -> just once -> best place to initiate API calls
-> invoked as soon as update happens -> updates DOM
-> just before the component is closed -> cleanup