摘要:?jiǎn)挝募苯右胩摂M虛擬區(qū)域掛載區(qū)域參數(shù)值第二個(gè)參數(shù)值數(shù)據(jù)驅(qū)動(dòng)數(shù)據(jù)源初始化,定義在或里在里數(shù)據(jù)渲染插值渲染支持表達(dá)式表達(dá)式列表渲染里生成元素集合條件渲染條件渲染動(dòng)態(tài)綁定數(shù)據(jù)更新重新賦值更新數(shù)據(jù)指令添加動(dòng)態(tài)切換行間寫法事件寫法事件處理函
/ | Vue | React |
---|---|---|
單文件直接引入 | vue.js | react.js + react-dom.js + babel.js |
虛擬DOM | √ | √ |
虛擬DOM區(qū)域(掛載區(qū)域) | el 參數(shù)值 | ReactDOM.render() 第二個(gè)參數(shù)值 |
數(shù)據(jù)驅(qū)動(dòng) | √ | √ |
Model數(shù)據(jù)源 | 初始化,定義在data:{} 或 data () { return {} }里 | 在state里 constructor () { this.state = {} } |
數(shù)據(jù)渲染 | {{ }} 插值渲染 支持表達(dá)式 | JSX { } 表達(dá)式 |
列表渲染 | v-for | JSX里生成元素集合 {this.state.arr.map((item,index)=> |
條件渲染 | v-if | {this.state.show? 條件渲染: null} |
動(dòng)態(tài)綁定 | v-bind | title={this.state.title} |
數(shù)據(jù)更新 | 重新賦值 this.id = xxx;/ this.$set() | this.setState({id:xx}) 更新數(shù)據(jù) |
指令 | √ | × |
添加class | class / :class | className="red" |
動(dòng)態(tài)切換class | :class="[show? "class1": "class2"]" | className={this.state.show ? "class1" : "class2"} |
style行間 | style / :style | JSX寫法 style={{color:"pink"}} |
ref | √ | √ |
事件寫法 | @click="clickFn" | onClick={this.clickFn.bind(this)} |
事件處理函數(shù) | methods: {}里 | 與render(){} 方法同級(jí) |
生命周期鉤子函數(shù) | created() mounted() 等 | componentDidMount() componentDidUpdate() 等 |
創(chuàng)建組件 | Vue.component全局 / components:{} 局部 | function組件 / class組件 |
組件定義規(guī)則 | 1.kebab-case (短橫線分隔命名) 2.PascalCase (大駝峰式) | 為了區(qū)分原生標(biāo)簽,組件必須大寫 |
組件特點(diǎn) | .vue文件 分html、js、css三塊 | all in js |
數(shù)據(jù)流向 | 單向數(shù)據(jù)流 | 單向數(shù)據(jù)流 |
數(shù)據(jù)雙向綁定 | v-model | 無 (但可以自己實(shí)現(xiàn) 綁定value值 + onchange事件更新value值) |
監(jiān)聽數(shù)據(jù)變化 | watch | getDerivedStateFromProps() |
父組件向子組件傳值 | props傳值 - 需要在子組件接收props:["xx"],然后就可以使用xx值 | props傳值 - 直接使用this.props.xx 取到值 |
子組件向父組件傳值 | 子組件this.$emit觸發(fā)父組件事件 | 子組件this.props.xx 觸發(fā)父組件事件 |
路由 | vue-router | react-router |
狀態(tài)管理 | vuex | react-redux |
修改狀態(tài) | 使用 mutations | 使用reducer純函數(shù) |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/106772.html
摘要:同比與去年同期的同比變化率。我們對(duì)調(diào)查報(bào)告進(jìn)行分析數(shù)據(jù)統(tǒng)計(jì)時(shí)間與本文時(shí)間差距較遠(yuǎn),數(shù)據(jù)存在延后。這意味著你可以獲得語法高亮,支持以及更容易使用預(yù)處理器如或。的是一個(gè)類似語法的可選預(yù)處理器,并可在中進(jìn)行編譯。 一些歷史 Angular 是基于 TypeScript 的 Javascript 框架。由 Google 進(jìn)行開發(fā)和維護(hù),它被描述為超級(jí)厲害的 JavaScript MVW 框架...
摘要:將注意力集中保持在核心庫,而將其他功能如路由和全局狀態(tài)管理交給相關(guān)的庫。此示例使用類似的語法,稱為。執(zhí)行更快,因?yàn)樗诰幾g為代碼后進(jìn)行了優(yōu)化。基于的模板使得將已有的應(yīng)用逐步遷移到更為容易。 前言 因?yàn)闆]有明確的界定,這里不討論正確與否,只表達(dá)個(gè)人對(duì)前端MV*架構(gòu)模式理解看法,再比較React和Vue兩種框架不同.寫完之后我知道這文章好水,特別是框架對(duì)比部分都是別人說爛的,而我也是打算把...
摘要:苗條的框架正是作者的初始目的,苗條包括代碼編寫量打包大小等等。是已經(jīng)編譯后的組件有什么缺點(diǎn)是一個(gè)剛起步不久的前端框架,無論在維護(hù)人員還是社區(qū)上都是大大不如三大框架,這里列舉一下本人認(rèn)為的存在的缺點(diǎn)。 Svelte 的作者也是 rollup 的作者 Rich Harris,前端界的輪子哥。sevlte 項(xiàng)目首次提交于 2016 年 11 月 16 日,目前版本是 3.6.1(2019-0...
摘要:公司的招聘要求都提到了至少熟悉其中一種前端框架,有前端工程化與模塊化開發(fā)實(shí)踐經(jīng)驗(yàn)相關(guān)字眼。我們主要從端公眾號(hào)移動(dòng)端小程序三大平臺(tái)進(jìn)行前端的技術(shù)選型,并來說說選其技術(shù)的幾大優(yōu)勢(shì)。技術(shù)的優(yōu)勢(shì)互聯(lián)網(wǎng)前端大潮后,前端出現(xiàn)了大框架,分別是與。 1、技術(shù)選型的背景前端技術(shù)發(fā)展日新月異,互聯(lián)網(wǎng)上出現(xiàn)的新型框架也比較多,如何讓新招聘的人員...
摘要:首次發(fā)表在個(gè)人博客相同點(diǎn)都支持服務(wù)器端渲染都有組件化開發(fā)通過參數(shù)進(jìn)行父子組件數(shù)據(jù)的傳遞都實(shí)現(xiàn)規(guī)范數(shù)據(jù)驅(qū)動(dòng)視圖都有支持的方案的的不同點(diǎn)嚴(yán)格上只針對(duì)的層則是模式不一樣會(huì)跟蹤每一個(gè)組件的依賴關(guān)系不需要重新渲染整個(gè)組件樹而對(duì)于而言每當(dāng)應(yīng)用的狀 showImg(http://upload-images.jianshu.io/upload_images/3297464-3aa21898fa4fa0...
閱讀 1402·2021-11-22 09:34
閱讀 1378·2021-09-22 14:57
閱讀 3400·2021-09-10 10:50
閱讀 1371·2019-08-30 15:54
閱讀 3690·2019-08-29 17:02
閱讀 3472·2019-08-29 12:54
閱讀 2611·2019-08-27 10:57
閱讀 3316·2019-08-26 12:24