Let's first understand how the process works.
The component receives a list of data (it can be empty), then starts processing that list... The first step is to ask the layout manager how you are going to lay out the visible objects.
Once the component knows the layout, it will start creating the visible objects. To do this, it will use the ViewProvider procedure, which, as its name indicates, is responsible for providing the visible objects. After creating the elements, it calls the ViewEditor procedure which, as its name indicates, is responsible for editing the components, it is also executed after each visible object is repositioned and requests new editing.
It is in charge of indicating to the component how to distribute the visible objects, horizontally, vertically, in list view, in grid view, in chip group view.
This procedure is responsible for providing the visible objects.
This procedure is not concerned with editing the components within the visible object, only with creating them.
This procedure is responsible for editing the content of visible objects.
There is a list with only one item. It is sent to the component to render it.
The developer has implemented a procedure for ViewProvider that creates a card with an image and two labels to display the name and price of the product.
The procedure does not receive in its parameters positions or anything that allows it to have information about the product, so it will only create the dehydrated components (without editing).
The developer has also implemented a procedure for the ViewEditor that gets information about the product and edits the component, changes the corresponding name and price labels, and sets the icon image.