# vuera **Repository Path**: mirrors_singod/vuera ## Basic Information - **Project Name**: vuera - **Description**: 无缝集成 React 和 Vue,实现在 React 中使用 Vue 组件,Vue 中使用 React 组件!:eyes: Vue in React, React in Vue. Seamless integration of the two. :dancers: - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vuera [![Build Status](https://travis-ci.org/akxcv/vuera.svg?branch=master)](https://travis-ci.org/akxcv/vuera) [![Coverage Status](https://coveralls.io/repos/github/akxcv/vuera/badge.svg?branch=master)](https://coveralls.io/github/akxcv/vuera?branch=master) Use [Vue] components in your [React] app: ```jsx import React from 'react' import MyVueComponent from './MyVueComponent.vue' export default props =>
``` Or use [React] components in your [Vue] app: ```vue ``` ## Use cases - 👨‍👩‍👧 Using both Vue and React in one app - 🏃 Migrating from React to Vue or from Vue to React ## Installation Install with yarn: ```sh $ yarn add vuera # or with npm: $ npm i -S vuera ``` You can also try the library out via [unpkg]: ```html ``` ## Usage ### Vue in React - Preferred usage The preferred way to use Vue inside of a React app is to use a Babel plugin. Add `vuera/babel` to `plugins` section of your `.babelrc`: ```json { "presets": "react", "plugins": ["vuera/babel"] } ``` Now, just use your Vue components like you would use your React components! ```jsx import React from 'react' import MyVueComponent from './MyVueComponent.vue' export default () => (

I'm a react component

) ``` ### React in Vue - Preferred usage The preferred way to use React inside of a Vue app is to use a Vue plugin. ```js import Vue from 'vue' import { VuePlugin } from 'vuera' Vue.use(VuePlugin) /* ... */ ``` Now, use your React components like you would normally use your Vue components! ```vue ``` **NOTE**: If you're using Vue < 2.4, you *must* pass all props to your React components via a special prop called `passedProps`: ```vue ``` ### Vue in React - without the Babel plugin If you don't want to use the Babel plugin, you still have two ways of using this library. 1. Use a wrapper component: ```jsx import React from 'react' import { VueWrapper } from 'vuera' import MyVueComponent from './MyVueComponent.vue' export default () => (
) ``` 2. Or use the HOC API: ```jsx import React from 'react' import { VueInReact } from 'vuera' import MyVueComponent from './MyVueComponent.vue' export default () => { const Component = VueInReact(MyVueComponent) return (
) } ``` ### React in Vue - without the Vue plugin If you don't want to use the Vue plugin, you still have two ways of using this library. 1. Use a wrapper component: ```vue ``` 2. Use the HOC API: ```vue ``` ## FAQ (I think) ### Are children supported? Yes. You can pass children from React to Vue and back as you usually would. React (children will go to the default slot of the Vue component): ```jsx import React from 'react' import MyVueComponent from './MyVueComponent.vue' export default props =>
Hello there!
``` Vue: ```vue ``` ### What's the performance? How fast/slow is it compared to pure React / Vue? I don't know, but the benchmark is coming. Stay tuned. ## Articles [Integrating React and Vue Components in One Application](https://x-team.com/blog/react-vue-component-integration/) by [@josephrexme](https://github.com/josephrexme) ## License [MIT](http://opensource.org/licenses/MIT) [react]: https://facebook.github.io/react [vue]: https://vuejs.org [unpkg]: https://unpkg.com