精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

教練,怎么在vue項目里寫react?

開發 前端
我承認了我是標題黨,本篇文章是在vue項目里寫tsx的一篇介紹。作為一個reacter,目前的業務天天使用vue2+ts讓我十分的不舒服。

 [[424253]]

1.前言

我承認了我是標題黨,本篇文章是在vue項目里寫tsx的一篇介紹。作為一個reacter,目前的業務天天使用vue2+ts讓我十分的不舒服。我對于vue也不是很熟悉,想回到我的react時代。于是在查詢官網之后發現在vue里面寫jsx也挺有意思的,遂記錄。

2.正文

vue2+ts的項目配置這里就不展開了,網上一搜一大推。

index.vue是頁面路由,存放各個組件和公用邏輯。components文件夾中存放我的tsx組件。

接下來就開始寫tsx。

你可以直接創建jsx/tsx文件

這次的項目結構是這樣的:

在vue文件里這么使用

  1. // index.vue 
  2. <template> 
  3.   <div class="wrapper"
  4.     <Common :opt="list" /> 
  5.   </div> 
  6. </template> 
  7.   
  8. <script lang="ts"
  9. import { Component, Vue } from "vue-property-decorator"
  10. import Common from "./components/Common"
  11.  
  12. @Component({ 
  13.   name: "App"
  14.   components: { 
  15.     Common, 
  16.   }, 
  17. }) 
  18. export default class App extends Vue { 
  19.   private list = ["我要去淘寶""我要去百度""我要去京東"]; 
  20. </script> 

tsx這么寫

  1. import { CreateElement } from 'vue'
  2. import { Component, Vue, Prop } from 'vue-property-decorator'
  3.  
  4. @Component({ 
  5.     name: 'Common' 
  6. }) 
  7. export default class Common extends Vue { 
  8.     @Prop(Object) opt!: any[] 
  9.  
  10.     render(h: CreateElement) { 
  11.         return <span> 
  12.             { 
  13.                 this.opt.map((it) => { 
  14.                     return <span style="marginRight:10px">{it}</span> 
  15.                 }) 
  16.             } 
  17.         </span> 
  18.     } 

在來看一下頁面

這該死的react既視感,竟是如此的誘人

可能有心者注意到了 我還引用了一個 CreateElement ,這是干嘛的呢。這玩意叫 渲染函數 。不喜歡讀vue那么大串的文檔的兄弟看這里。簡單解釋:這個東西可以渲染一個vnode節點。 它比模板更接近編譯器。 什么意思呢?意思就是模板語法也會編譯成渲染函數。所以我們直接用渲染函數不就相當于節省了模板語法到渲染函數的過程。四舍五入項目性能又是一個大的提升!

簡單介紹一下傳參:

第一個參數 : {String | Object | Function} 一個 HTML 標簽名、組件選項對象,或者 resolve 了上述任何一種的一個 async 函數。必填項。

第二個參數 : Object 一個與模板中 attribute 對應的數據對象。

第三個參數 : {String | Array} 文本節點或子級虛擬節點 (VNodes)。

渲染函數給vue帶來了很多的靈活性,以前你想自定義在子組件里插入東西,得寫一大堆的插槽。 <slot> 。有了渲染函數我們可以這么玩。

  1. // 改造一下上面的index.vue的data 
  2.  
  3.   private list = [ 
  4.     { render: () => ["a", { style: { color: "red" } }, "我要去淘寶"] }, 
  5.     { render: () => ["a", { style: { color: "green" } }, "我要去京東"] }, 
  6.     { render: () => ["a", { style: { color: "pink" } }, "我要去百度"] }, 
  7.   ]; 

tsx中這么寫:

  1.                 this.opt.map((it) => { 
  2.                     return h(...it.render()) 
  3.                 }) 
  4.             } 

就可以渲染出花里胡哨的頁面了

我們還可以這么玩:

  1. // tsx改造 
  2. <span> 
  3.             { 
  4.                 this.opt.map((it) => { 
  5.                     return it.render(h) 
  6.                 }) 
  7.             } 
  8. </span> 
  9.  
  10.  
  11. 在index.vue頁面我們就可以這么玩: 
  12. // index.vue 
  13. private list = [ 
  14.     { 
  15.       render: (h: CreateElement) => 
  16.         h("a", { style: { color: "red", marginRight: "5px" } }, "我要去淘寶"), 
  17.     }, 
  18.     { 
  19.       render: (h: CreateElement) => 
  20.         h("a", { style: { color: "green", marginRight: "5px" } }, "我要去京東"), 
  21.     }, 
  22.     { 
  23.       render: (h: CreateElement) => 
  24.         h("a", { style: { color: "pink", marginRight: "5px" } }, "我要去百度"), 
  25.     }, 
  26.   ]; 

結果也是同樣的花哨

我們同樣可以渲染亂七八糟的標簽!

  1. // index.vue改造 
  2.  { 
  3.       render: (h: CreateElement) => 
  4.         h( 
  5.           "h1"
  6.           { 
  7.             style: { color: "green", marginRight: "5px" }, 
  8.           }, 
  9.           "我要去京東" 
  10.         ), 
  11.     }, 

我們可以隨心所欲的在渲染函數中定義事件:

  1. // index.vue 
  2. private list = [ 
  3.    { 
  4.       render: (h: CreateElement) => 
  5.         h( 
  6.           "a"
  7.           { 
  8.             style: { color: "red", marginRight: "5px" }, 
  9.             on: { 
  10.               click: () => this.iWillGoWhere("TB"), 
  11.             }, 
  12.           }, 
  13.           "我要去淘寶" 
  14.         ), 
  15.    }] 
  16.     
  17.  iWillGoWhere(type: string) { 
  18.     const goWhere: any = { 
  19.       TB: () => { 
  20.         alert("我要去淘寶!"); 
  21.       }, 
  22.       JD: () => { 
  23.         alert("我要去京東!"); 
  24.       }, 
  25.       BD: () => { 
  26.         alert("我要去百度!"); 
  27.       }, 
  28.     }; 
  29.     goWhere[type](); 
  30.   } 

這樣就可以啦!

結尾

本次文章是對vue靈活性使用的入門。請各位vue大佬不要噴我~

責任編輯:張燕妮 來源: SegmentFault
相關推薦

2025-09-04 10:29:04

VueCSS

2023-09-14 08:46:50

ReactVue

2022-05-09 08:55:52

ORMMockGo

2021-07-29 09:07:44

React視圖庫Web 開發

2018-12-04 10:24:23

VueReactJQuery

2017-10-14 22:45:55

前端

2020-10-30 12:40:04

Reac性能優化

2020-09-14 14:18:05

Vue和React

2024-05-08 16:22:37

2022-06-28 10:58:48

協議通信加密

2023-04-26 08:43:28

GoCGO語言

2023-10-26 07:37:18

ReactVue項目

2022-12-29 20:23:43

VueReact

2020-01-09 15:35:54

ReactAngularVue.js

2018-02-26 06:53:21

軟件程序員數字化

2022-08-21 09:41:42

ReactVue3前端

2017-01-17 18:30:23

ReactVueWeex

2017-01-17 09:39:06

ReactWeex

2021-08-04 08:27:00

VueReact自動化部署

2025-09-25 14:35:43

點贊
收藏

51CTO技術棧公眾號

一女被多男玩喷潮视频| 国产日韩欧美中文| 好吊色视频一区二区三区| 91精品国产黑色瑜伽裤| 91啦中文在线观看| 国产精品久久久久福利| 国产性xxxx| 色综合www| 欧美日韩国产另类不卡| 中文字幕日韩精品无码内射| 亚洲欧洲综合在线| 精品一二三四在线| 国语自产精品视频在线看抢先版图片| 99久久精品免费视频| 久久在线观看| 一本大道av一区二区在线播放| 一区二区三区四区五区视频| 人妻视频一区二区三区| 免费成人在线视频观看| 97久久伊人激情网| 欧美性x x x| 深爱激情久久| 亚洲成人精品视频在线观看| 青青草原国产在线视频| 一区二区电影免费观看| 一区二区在线观看不卡| 日韩久久久久久久久久久久久| 亚洲精品一级片| 奇米在线7777在线精品| 97免费视频在线播放| 国产美女免费网站| 黄色免费大全亚洲| 日韩一级精品视频在线观看| 18岁视频在线观看| yellow字幕网在线| 一区二区三区在线观看欧美| 日本一区视频在线观看| 四虎永久在线精品免费网址| 国产精品亚洲专一区二区三区| 国产精品福利小视频| 日韩欧美高清在线观看| 欧美在线免费| 欧美xxxx综合视频| 免费黄色激情视频| 国产欧美日韩在线观看视频| 亚洲激情视频在线观看| 国产裸体视频网站| 亚洲最大的免费视频网站| 在线一区二区视频| aaa毛片在线观看| 原纱央莉成人av片| 午夜视频在线观看一区二区| 国产肉体ⅹxxx137大胆| 国产精品麻豆一区二区三区 | 亚洲精品乱码久久久久久动漫| 成人自拍av| 色婷婷综合中文久久一本| koreanbj精品视频一区| 欧美xxxhd| 欧美视频在线观看 亚洲欧| 人妻av中文系列| 天堂а√在线最新版中文在线| 欧美日韩另类视频| 日本免费不卡一区二区| 不卡av播放| 欧美亚洲一区二区三区四区| 婷婷激情四射五月天| 69堂免费精品视频在线播放| 欧美丝袜第三区| 国产成人美女视频| 日本一区二区三区播放| 亚洲爱爱爱爱爱| 国产草草浮力影院| 中文字幕伦av一区二区邻居| 亚洲人成伊人成综合网久久久| 亚洲精品国产熟女久久久| 国产一区二区精品福利地址| 最新69国产成人精品视频免费| 无码人中文字幕| 欧美不卡一区| 国内伊人久久久久久网站视频 | 久久aⅴ国产紧身牛仔裤| 国产99久久久欧美黑人| 亚洲一区在线观| 国产老肥熟一区二区三区| 国产精品久久久久久久天堂第1集| 人妻与黑人一区二区三区| 91亚洲精品一区二区乱码| 日韩免费一区二区三区| 福利在线视频网站| 午夜精品久久久久影视| 欧美伦理视频在线观看| 成人午夜毛片| 精品乱码亚洲一区二区不卡| 亚洲第一综合网| 真实国产乱子伦精品一区二区三区| 欧美激情在线播放| 懂色av中文字幕| 国产精品一区二区视频| 久久久com| 免费大片在线观看www| 亚洲第一福利视频在线| 免费看国产黄色片| 91免费精品国偷自产在线在线| 亚洲天堂成人在线| 激情五月婷婷小说| 日本不卡一区二区| 国产精品污www一区二区三区| sese一区| 都市激情亚洲色图| 亚洲18在线看污www麻豆| 国产乱人伦精品一区| 日韩专区在线播放| 青青草免费观看视频| 国产精品一区久久久久| 日韩免费av一区二区三区| 91九色在线看| 欧美成人艳星乳罩| 娇小11一12╳yⅹ╳毛片| 国产亚洲毛片在线| 5566中文字幕一区二区| yiren22亚洲综合伊人22| 亚洲成a人片在线不卡一二三区 | caoporn国产一区二区| 中文字幕人成一区| 欧美日韩精品免费观看视欧美高清免费大片 | 秋霞影院一区| 色吧影院999| 99久久久无码国产精品免费蜜柚| 不卡在线观看av| 久久久久久久久影视| 国产成人精选| 一二美女精品欧洲| 天天干天天操天天爱| 成人动漫精品一区二区| 伊人再见免费在线观看高清版 | 久久国产精品99久久久久久丝袜 | 成人久久久精品国产乱码一区二区| 国产精品每日更新在线播放网址| 国产午夜福利视频在线观看| 老司机成人在线| 欧美激情免费观看| 国产手机视频在线| 成人免费视频在线观看| 国产精品igao| 精品久久美女| 国产精品高清网站| 国产视频网址在线| 色欧美片视频在线观看在线视频| 大黑人交xxx极品hd| av不卡在线看| 麻豆91av| 中文字幕日本一区二区| 在线播放国产一区二区三区| 337p粉嫩色噜噜噜大肥臀| 久久九九国产精品| avav在线看| 欧美老女人另类| 国产玖玖精品视频| 欧美极品视频| 欧美一区国产二区| 麻豆chinese极品少妇| 国产成人精品免费一区二区| 精品久久久久久无码中文野结衣| 成人高潮视频| 日本久久久久久久| porn亚洲| 精品乱码亚洲一区二区不卡| 日韩精品久久久久久久| 91麻豆文化传媒在线观看| 免费无码av片在线观看| 成人在线免费观看视频| 成人精品在线视频| 国产丝袜在线播放| 日韩精品久久久久| 夜夜躁日日躁狠狠久久av| 国产精品―色哟哟| 国产成人av免费观看| 激情视频一区二区三区| 免费国产在线精品一区二区三区| 经典三级一区二区| 日韩一区二区福利| 亚洲欧美强伦一区二区| 色婷婷综合在线| 国产成人av免费在线观看| 国产.欧美.日韩| 欧美韩国日本在线| 五月精品视频| 久久99导航| 福利一区在线| 欧美激情亚洲视频| 黄色在线小视频| 日韩一区二区影院| 中文字幕在线观看视频网站| 国产精品美女久久久久久久久| 韩国一区二区三区四区| 午夜影院日韩| 在线观看成人免费| 亚洲综合福利| 成人av电影免费| 91另类视频| 97在线观看视频国产| 91大神xh98hx在线播放| 亚洲福利在线观看| 亚洲一区中文字幕在线| 欧美日韩国产丝袜另类| 182在线观看视频| 久久伊人中文字幕| 免费欧美一级片| 日韩和的一区二区| 久久综合九色综合88i| 国产精品国产三级国产在线观看| 美女一区视频| 国产精品nxnn| 亚洲一区二区三区视频播放| 91九色综合| 欧美在线视频在线播放完整版免费观看| 国产精品实拍| 一本色道久久综合狠狠躁篇的优点 | 日本成人免费在线观看| 99国产精品视频免费观看| 日本高清免费观看| 美女看a上一区| 十八禁视频网站在线观看| 亚洲黄色高清| 黄黄视频在线观看| 91亚洲国产高清| 日产精品高清视频免费| 亚洲va久久| 国内视频一区| 国产伦精品一区二区三区免费优势 | 青青国产在线视频| 富二代精品短视频| 国产午夜福利一区二区| 一区二区三区视频在线看| 一本色道久久88| 国产欧美精品一区二区三区四区| 中文人妻一区二区三区| 91视频免费看| 日本少妇毛茸茸| av色综合久久天堂av综合| 性一交一黄一片| 国产成人免费网站| 免费看91视频| 国产福利一区二区三区| 日本少妇一区二区三区| 国产麻豆精品久久一二三| 亚洲美女性囗交| 狠狠色综合播放一区二区| 欧美特级aaa| 精品一区二区三区在线视频| 污污网站在线观看视频| 激情文学综合插| av在线免费看片| 国产剧情在线观看一区二区| 成人免费播放视频| 福利一区二区在线| 中文字幕天堂av| 99久久精品久久久久久清纯| theav精尽人亡av| 久久精品视频在线免费观看| 成人小视频免费看| 亚洲色图视频网| 黄色在线观看免费| 精品国产乱码久久久久久婷婷| 欧美啪啪小视频| 欧美无砖砖区免费| 国产又粗又猛视频| 日韩午夜激情av| 黄色福利在线观看| 亚洲精品中文字| 97人人在线| 欧美多人爱爱视频网站| 国产传媒av在线| 国产精品久久久久久久久粉嫩av| 四虎视频在线精品免费网址| 粉嫩精品一区二区三区在线观看| 粉嫩av一区二区| 日产精品久久久一区二区| 一区二区三区在线| 日本国产在线播放| 免费在线视频一区| 免费欧美一级片| 久久久久久久免费视频了| 伊人久久久久久久久久久久久久| 亚洲国产一区二区在线播放| 国产精品久久久久久久久久精爆| 欧美日韩国产影片| 亚洲第一页视频| 一区二区三区四区在线观看视频| 大片免费在线观看| 8x海外华人永久免费日韩内陆视频| 国产精品99精品一区二区三区∴| 波多野结衣久草一区| 国产91精品对白在线播放| 欧美少妇在线观看| 亚洲在线电影| 99精品视频国产| 久久一留热品黄| 全网免费在线播放视频入口 | 午夜精品久久久久久久99热黄桃| 亚洲美女中文字幕| www红色一片_亚洲成a人片在线观看_| 4438全国亚洲精品在线观看视频| 亚洲天堂网站| 久久久国产精品一区二区三区| 国产精品黑丝在线播放| 日韩黄色片视频| 高清国产一区二区| 天堂资源在线视频| 天天影视涩香欲综合网| 国产一区二区在线视频观看| 亚洲精品国产精品国自产观看浪潮 | 性高潮视频在线观看| 亚洲国产日韩欧美在线99| 91精选在线| 成人福利视频网| 精品久久影视| 男人日女人下面视频| 国产福利精品导航| 午夜成人亚洲理伦片在线观看| 色婷婷精品大视频在线蜜桃视频| 亚洲AV无码成人片在线观看 | 欧美人xxxxx| 亚洲另类视频| 国产精品一级无码| 成人欧美一区二区三区视频网页 | 2021亚洲天堂| 欧美日韩免费视频| 国产二区视频在线观看| 欧美一区在线直播| 午夜先锋成人动漫在线| 国产资源在线免费观看| 国产精品77777竹菊影视小说| 亚洲女人毛茸茸高潮| 欧美系列日韩一区| 国产在线91| 国产999视频| 精品国产不卡| 成人亚洲视频在线观看| 久久精品免费在线观看| 精产国品一区二区| 亚洲欧美日韩精品久久亚洲区 | 欧美日本一道本在线视频| 搞黄视频免费在线观看| 国产精品国产福利国产秒拍 | 中文字幕国产在线观看| 亚洲精品白浆高清久久久久久| 黄色污网站在线观看| 国产在线精品一区二区中文| 亚洲免费激情| 97人妻精品一区二区免费| 色婷婷国产精品久久包臀| 你懂的视频在线免费| 日本高清不卡的在线| 国产九一精品| 欧美成人三级在线播放| 亚洲欧美在线视频| 北条麻妃一二三区| 欧美极品美女视频网站在线观看免费| 91九色鹿精品国产综合久久香蕉| 国产日韩亚洲欧美在线| 成人黄色小视频在线观看| 日韩一区二区视频在线| 亚洲午夜精品久久久久久性色| 小明成人免费视频一区| 艳母动漫在线观看| 高清不卡在线观看av| 亚洲日本视频在线观看| 日韩福利视频在线观看| 日本精品另类| 日韩不卡视频一区二区| 丰满亚洲少妇av| 欧美特黄aaaaaa| 日韩性生活视频| 中文字幕日韩在线| 日日摸日日碰夜夜爽av| 国产精品免费久久| 亚洲AV无码乱码国产精品牛牛 | 久久久久久久精| 中文在线资源天堂| 欧美大肥婆大肥bbbbb| 任你躁在线精品免费| www.亚洲高清| 一区二区三区波多野结衣在线观看| 天堂中文资源在线观看| 国产成人在线视频| 女主播福利一区| 亚洲天堂久久新| 欧美一二三区在线观看| 中文av在线全新| japanese在线播放| 国产日韩欧美综合在线| 国产男男gay网站| 欧美一级片免费在线| 亚洲精品二区三区| 国产美女精品久久| 日韩欧美亚洲国产精品字幕久久久| 在线免费日韩片| 996这里只有精品|