Pass array of items to children as prop with Icon component? It's impossible?

Hello. Can I send an array of items to children with my Icon component?

  <menu :items="items" />

import Menu from './Menu.vue';
import Icon from './Icon.vue';

export default {
  name: 'Test',
  components: {
  data() {
    return [{
      title: 'about',
      iconComponent: Icon,

I know that I can pass the name of the component as string and then import all the components in the Menu component and use <component: is />
But I need to not have to describe all the components in the Menu.
How can I do it? In React, I can do this:

  title: 'about',
  renderIcon: () => <Icon />,

it is also possible to pass a component definition instead of component name like <component :is="foo" /> - assuming that there is that is like {template:"<div>foo? - its' me</div>" }
but do not place component definition directly in the data - it’s may be buggy and overhead, use computed to glue items-data with Icon-component definition like itemsWithIcons(){ return} and pass it to menu as props
So somewhere in menu you can just <component :is="item.icon || defaultIcon" /> -
assuming v-for = "item in itemsWithIconsProp"
And since you directly pass component definition to component-is you don’t have to register it as components:{...}

instead of using computed you can data(){return [{title:'...', icon()=>Icon}] - exactly as in React.
Replacing Icon with icon()=>Icon prevents Icon from being reactive, so it is safe approach