Dynamic components rendering without JSX