Skip to content

Vue 3 version #11

@IniZio

Description

@IniZio

My current approach

import { defineComponent, h, onBeforeUnmount, onMounted, onUpdated, ref } from 'vue'
import React from 'react'
import { render, unmountComponentAtNode } from 'react-dom'

export default (Component: any) => {
  return defineComponent({
    props: {
      defaultValue: {
        type: String,
        default: '',
      },
    },
    setup(props) {
      const elRef = ref()

      onMounted(() => {
        render(React.createElement(Component, props), elRef.value)
      })

      onUpdated(() => {
        render(React.createElement(Component, props), elRef.value)
      })

      onBeforeUnmount(() => {
        unmountComponentAtNode(elRef.value)
      })

      return () => h('div', { ref: elRef })
    },
  })
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions