React組件怎么轉Vue組件-創新互聯

本篇內容主要講解“React組件怎么轉Vue組件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“React組件怎么轉Vue組件”吧!

創新互聯成立于2013年,是專業互聯網技術服務公司,擁有項目成都網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元岳塘做網站,已為上家服務,為岳塘各地企業和個人服務,聯系電話:13518219792

簡介

對于react-to-vue工具,轉化的是基本的react component,而不是全部的react應用。而基本react component的定義更多是基于props和state來渲染的組件,其中也可以包括發請求。
本文先介紹兩個框架的組件共性和不兼容的地方,再介紹react-to-vue的使用和原理。在實際業務中,陸金所100多個的react基礎業務組件,react-to-vue可以轉化90%以上,變成vue組件。

盤點兩個框架的組件共性

1. props

React組件怎么轉Vue組件

// react
FrontendMagazine.propTypes = {
    name: PropTypes.string
}
FrontendMagazine.defaultProps = {
    name: 'FrontendMagazine'
}
// vue
{
    name: 'frontend-magazine',
    props: {
        name: {
            type: String,
 default: 'FrontendMagazine'
 }
 }
}

2. 組件自有狀態

React組件怎么轉Vue組件

3. 生命周期

雖然生命周期名不一樣,但是差不多有對應的

React組件怎么轉Vue組件React組件怎么轉Vue組件

4. 處理事件

React組件怎么轉Vue組件

// react
class FrontendMagazine {
    clickme () {
 // xxxx
 }
}
// vue
{
    name: 'frontend-magazine',
    methods: {
        clickme () {
 // xxx
 }
 }
}

5. 組件錯誤捕獲

React組件怎么轉Vue組件

6. jsx語法

react是基于jsx來寫的,對于vue來說,雖然在好多場景下,可以使用template來寫,但是vue也完全支持jsx語法的,對于本工具,也只是把react的jsx語法轉換成vue支持的jsx

兩個框架不兼容的地方

react在最新版本里面,有flagments的支持,允許根節點返回多個節點,目前沒有看到vue支持的,還有就是在設計react組件的時候,使用了高階,對于本工具,也是不支持的

react-to-vue工具

安裝及使用

# install
npm install -g react-to-vue
# usage
Usage: rtv [options] file(react component)
Options:
 -V, --version         output the version number
 -o --output [string]  the output file name
 -t --ts               it is a typescript component
 -h, --help            output usage information
 # demo
 rtv demo.js

原理步驟

  1. 對于輸入的文件首先使用babylon來解析,生成ast

  2. 如果文件是typescript,會去掉相應的ts描述

  3. 對ast進行遍歷,首先提取propTypes和defaultProps

  4. 根據組件類型,處理函數組件和類組件

  5. 在類組件里面,需要轉換生命周期,state等信息

  6. 最后根據提取到的信息拼接成vue組件,通過prettier-eslint來美化

轉化前后對比

React組件怎么轉Vue組件

到此,相信大家對“React組件怎么轉Vue組件”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

分享標題:React組件怎么轉Vue組件-創新互聯
本文鏈接:http://m.kartarina.com/article22/cdcjjc.html

成都網站建設公司_創新互聯,為您提供動態網站響應式網站自適應網站微信公眾號外貿建站手機網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 国产成人无码一区二区在线播放| 无码A级毛片日韩精品| 亚洲AV无码久久精品色欲| 野花在线无码视频在线播放| 少妇无码一区二区三区| 下载天堂国产AV成人无码精品网站| 午夜无码中文字幕在线播放| 久久精品aⅴ无码中文字字幕重口 久久精品国产亚洲AV无码娇色 | 一本色道无码道DVD在线观看| 精品久久久久久中文字幕无码| 亚洲中久无码永久在线观看同| 国产精品免费看久久久无码| 精品无码成人片一区二区98 | 久久久久无码精品| 亚洲AV无码一区二区三区网址| 亚洲人成网亚洲欧洲无码久久| 亚洲AV综合永久无码精品天堂| 久久人妻内射无码一区三区| 成人av片无码免费天天看| 国模无码一区二区三区| 亚洲精品无码一区二区 | 久久久久亚洲AV无码专区首| 日韩精品无码人成视频手机| 无码av大香线蕉伊人久久| 国产AV无码专区亚洲AV蜜芽| 成人免费午夜无码视频| 亚洲毛片无码专区亚洲乱| 亚洲VA中文字幕无码一二三区| 日韩精品无码人妻一区二区三区| 无码熟妇人妻AV在线影院| 亚洲Av无码国产一区二区| 一本久道综合在线无码人妻| 亚洲熟妇无码久久精品| 999久久久无码国产精品| 人妻少妇看A偷人无码电影| 亚洲AV无码精品蜜桃| 无码人妻精品一区二区三区久久久 | 国产V亚洲V天堂A无码| 亚洲AV无码成人网站久久精品大| 久久老子午夜精品无码| 久久久久亚洲AV无码永不|