vuera--在vue中使用react组件

项目背景介绍,由于旧项目用的是vue2但公司组件库是react,现在项目需要迭代升级,不想自己重新写组件从而使用vuera来在vue中使用react组件库组件

  1. 安装vuera

    yarn add vuera
    
    npm install --save vuera
    
  2. 安装React

    //安装react
    npm install --save react react-dom
    //下载依赖识别react-jsx语法
    npm install @babel/plugin-transform-react-jsx
    //在babel.config.js中添加依赖
    module.exports = { 
      plugins: ["@babel/plugin-transform-react-jsx"]
    };
    
  3. 在vue,mian.js中引用vuera

    import {  VuePlugin } from 'vuera'
    Vue.use(VuePlugin);
    
  4. react文件

    import React from 'react'
    function myReactComponent(props) { 
      const {  message } = props
      function childClickHandle() { 
        props.onMyEvent('React子组件传递的数据')
      }
      return (
        <div>
          <h2>{  message }</h2>
          <button onClick={  childClickHandle }>向Vue项目传递React子组件的数据</button>
        </div>
      )
    }
    export default myReactComponent
    
  5. vue文件

    <template>
        <div>
            <h1>I'm a Vue component</h1>
            <my-react-component :message="message" @onMyEvent="parentClickHandle"/>
        </div>
    </template>
    <script>
        // 引入React组件
        import MyReactComponent from './myReactComponent'
        export default { 
            components: { 
                'my-react-component': MyReactComponent  // 引入React组件
            },
            data() { 
                return { 
                    message: 'Hello from React!',
                }
            },
            methods: { 
                parentClickHandle(data){ 
                    console.log(data);
                }
            },
        }
    </script>
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue-React组件库是一个同时支持VueReact的UI组件库,可以在VueReact项目使用。下面以Element-React为例,介绍如何使用Vue-React组件库。 1. 安装Element-React:可以使用npm或yarn安装,命令如下: ``` npm install element-react --save 或 yarn add element-react ``` 2. 引入样式文件:在主入口文件引入Element-React的样式文件,如下: ``` import 'element-react/dist/theme-chalk/index.css'; ``` 3. 引入组件:在VueReact组件按需引入需要使用的Element-React组件,如下: 在Vue组件: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> <script> import { Button } from 'element-react'; export default { components: { 'el-button': Button } } </script> ``` 在React组件: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 4. 使用组件:在VueReact组件使用引入的Element-React组件,如下: 在Vue组件: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> ``` 在React组件: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 需要注意的是,不同的Vue-React组件使用方法略有不同,需要根据具体组件库的文档进行使用。同时,也需要根据项目需要选择合适的组件库,避免出现兼容性和功能不匹配的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值