When swiftui re render happen?

Generated on 9/6/2024

1 search

In SwiftUI, re-rendering happens when the state of a view changes. SwiftUI views are state-driven, meaning that when your view state changes over time, SwiftUI automatically updates the UI to reflect these changes. This is achieved by SwiftUI maintaining a representation of the user interface behind the scenes. As data changes, new view values are created and given to SwiftUI, which then uses these values to determine how to update its outputs.

For example, if you have a view that depends on a piece of data, such as a pet object, and that data changes (e.g., a property of the pet object is modified), SwiftUI will call the view's body again with the updated data. This results in the view being re-rendered to display the new state, such as showing an image to reflect an award given to a pet.

SwiftUI provides several tools for state management, including @State and @Binding. @State is used to create a new internal source of data for a view, while @Binding creates a two-way reference to the state of another view.

For more details, you can refer to the session SwiftUI essentials (08:50).