I’m creating something similar to an ecommerce site and using a repeater to display the product cards. While it is easy to set the properties of elements within it by typing the name of the repeater data property into the corresponding logic field, I am concerned about performance as the user may have hundreds of cards loaded on the page. My understanding is this method results in the component updating every frame. I’d rather just set the properties of the UI elements when the repeater is created and not sacrifice performance for unnecessary reactivity. This doesn’t seem to be possible in codeless though as the ‘Get component by id’ doesn’t seem to work on elements within repeaters. ‘On before mount’ logic would also be useful but is only available on blocks, not things like images and text. I’d really like it if codeless could offer the functionality to set repeater element properties via a one off event, could you please consider adding that ability. Thanks.
The UIBuilder is based on ReactJS, so rendering a list of hundreds items (cards) is not a problem as long as the data keeps the same object references.
According to the accessing elements deeper in a repeater, you are right, there is no such ability. The best way to change the view of items is to change the data model from parent level or modifying a specific data model (which points to a specific list item) inside a repeater child component
Regards,
Vlad