The Lightning framework fires system events automatically during component initialization, attribute value changes, rendering, and so on. In their HTML markup, all Components can register for system events.
These events can be handled in Lightning apps or components, as well as the Salesforce mobile app. A few instances of system events are listed below.
The aura:doneRendering event is no longer supported. Instead, use the render event. The container app may trigger your event handler numerous times unless your component is running in total isolation in a standalone app and not included in complicated apps like Lightning Experience or the Salesforce mobile app. This conduct makes it tough to respond appropriately to each situation.
If no further components need to be drawn or rerendered as a result of attribute value changes, this event is automatically fired.
Take care of the aura: completed
In a client-side controller, a rendering event occurs. This event can only be handled by one aura:handler> tag per component.
Don't forget to check out: Real-Time Event Monitoring in Salesforce
2. Aura: ValueChange Event
In Salesforce's lightning components, the aura:valueChange event is used to manage attribute value changes.
When a component is destroyed, this event is triggered. If you need to execute custom cleanup after a component is destroyed, handle this event.
Assume you're looking at a component in the Salesforce app. When you tap on a different menu item on the Salesforce mobile navigation menu, the aura:valueDestroy event is triggered, and your component is destroyed. The value parameter in the event in this case returns the component that is being destroyed.
Prior to rendering, when an app or component is initialised, this event is fired. Use the aura:handler tag to handle this event.
System events are simple to manage, and if you wish to apply logic during the occurrence of any of the aforementioned events, you can do so by adding the following code to your HTML markup code:
<aura:handler name="name of the event" value="!this" action="!c.handleSystemEvent"/> <aura:handler name="name of the event" value="!this" action="!c.handleSystemEvent"/> <aura:handler name="name of the event" value="!this" action="!c.handleSystemEvent"/>
NB: "name of the event" can be any of the following: init, render, destroy, change, and aura:systemError.
Check out another amazing blog by Arpit here: Visualforce in Lightning Experience | Salesforce Guide
Now you can use the following syntax to write the logic that you wish to run in the JS controller:
(do your logic) (handleSystemEvent: function (component, event, helper)
What is the best way for these components to communicate with one another? This is when the role of Events comes into play. Lightning Events, to put it another way, are the link between these two worlds. This blog discusses the Salesforce Lightning Framework Events, as well as when and when they should be used.