分享

如何在Vue中嵌入React组件?如何在React中嵌入Vue组件?

 15所 2019-11-21

日常在开发中总是会遇到各种奇怪的需求,
最近在开发一个多人合作的项目时变遇到一个奇怪的需求,
对方之前开发了一个react组件,要求在这期迭代中嵌入到vue项目中。


Vue中引用React组件:

1. 安装依赖

npm i -S vuera
npm install --save react react-dom

2. 编辑main.js:

import { VuePlugin } from 'vuera'Vue.use(VuePlugin)

3. 加入需要引用的react组件

import MyReactComponent from './MyReactComponent'

这个时候发现第一个问题:


1.png

不难发现,这是vue项目中未jsx文件格式的问题所导致
解决办法:
编辑webpack.base.conf.js,加入对jsx的支持

test: /\.(js|jsx)(\?.*)?$/

这个时候第二个问题出现了:

2.png

原因:
.babelrc文件中默认引入了transform-vue-jsx,此插件将jsx转义成h function的形式供vue调用。

解决办法:
npm install --save-dev babel-plugin-transform-react-jsx
并且在.babelrc文件中
用transform-react-jsx替换transform-vue-jsx

'plugins': ['transform-react-jsx']

至此,我们便完成了在vue项目中引入react组件的目的
效果:

3.png

React项目中引用Vue组件:

1. 安装依赖

npm i -S vuera
npm install --save vue

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多