Как можно оптимизировать рендеринг элементов?
Маловато информации, конечно... Но, мне кажется, такую операцию лучше выполнять на бэке,  и отдавать фронту готовую страницу.
что за 500 спанов, эмоджи для чатика?
может их поделить на категории и в каждой категории рендерить по 50?
или еще как-то пагинировать, через слайдер или "бесконечную подгрузку"

и да! ты это делаешь один раз при маунте компонента, или это происходит каждый раз при рендере?