@egoist/vue-to-react
Turn a Vue component into a React component.
Last updated 6 years ago by egoist .
MIT · Repository · Bugs · Original npm
$ cnpm install @egoist/vue-to-react 
SYNC missed versions from official npm registry.

vue-to-react

NPM version NPM downloads CircleCI donate chat

Install

yarn add @egoist/vue-to-react

Usage

import React from 'react'
import { render } from 'react-dom'
import toReact from '@egoist/vue-to-react'

const VueComponent = {
  data() {
    return {
      count: 0
    }
  },

  render(h) {
    return h(
      'button',
      {
        on: {
          click: () => this.count++
        }
      },
      [this.count]
    )
  }
}

const ReactComponent = toReact(VueComponent)

render(<ReactComponent />, document.getElementById('app'))

Passing Props

By default we pass all props from React to Vue:

const Counter = toReact({
  props: ['initialCount'],
  render(h) {
    return h('button', {}, [this.initialCount])
  }
})

const App = <Counter initialCount={0} />

However you can customize how the props are passed to Vue with the passProps option:

toReact(VueComponent, {
  // Only pass `initialProps` prop
  passProps: props => ({ initialCount: props.initialProps }),
  // Or disable props
  passProps: false
})

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

@egoist/vue-to-react © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).

github.com/egoist · GitHub @EGOIST · Twitter @_egoistlily

Current Tags

  • 1.1.0                                ...           latest (6 years ago)

1 Versions

  • 1.1.0                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (13)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org