国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

react 和 小程序 對(duì)比

Lowky / 3203人閱讀

摘要:主要從以下幾個(gè)方面對(duì)比下和微信小程序生命周期小程序頁(yè)面加載時(shí)觸發(fā)。數(shù)據(jù)綁定小程序中的動(dòng)態(tài)數(shù)據(jù)均來(lái)自對(duì)應(yīng)的。例如顯示與隱藏元素小程序在微信小程序中使用和來(lái)控制組件的顯示與隱藏。

主要從以下幾個(gè)方面對(duì)比下react和微信小程序

生命周期

react

小程序
onLoad: 頁(yè)面加載時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,可以在onload的參數(shù)options中獲取打開(kāi)當(dāng)前頁(yè)面路徑中的參數(shù)。
onReady: 頁(yè)面初次渲染完成時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,代表頁(yè)面已經(jīng)準(zhǔn)備妥當(dāng),可以和視圖層進(jìn)行交互。注意:對(duì)界面內(nèi)容進(jìn)行設(shè)置的API如wx.setNavigationBarTitle,請(qǐng)?jiān)趏nReady之后進(jìn)行。
onShow: 頁(yè)面顯示/切入前臺(tái)時(shí)觸發(fā)。
onHide: 頁(yè)面隱藏/切入后臺(tái)時(shí)觸發(fā)。如navigateTo或底部tab切換到其他頁(yè)面,小程序切入后臺(tái)等。
onUnload: 頁(yè)面卸載時(shí)觸發(fā)。如redirectTo或navigateBack到其他頁(yè)面時(shí)。

Page.prototype.setData(Object data, Function callback)

   setData函數(shù)用于將數(shù)據(jù)從邏輯層發(fā)送到視圖層(異步),同時(shí)改變對(duì)應(yīng)的this.data的值(同步)。

注意:

直接修改this.data而不調(diào)用this.setData是無(wú)法改變頁(yè)面的狀態(tài)的,還會(huì)造成數(shù)據(jù)不一致。

僅支持設(shè)置可JSON化的數(shù)據(jù)。

單次設(shè)置的數(shù)據(jù)不能超過(guò)1024kb,盡量避免一次設(shè)置過(guò)多的數(shù)據(jù)。

不要把data中任何一項(xiàng)的value設(shè)為undefined,否則這一項(xiàng)將不被設(shè)置并可能遺留一些潛在問(wèn)題。

數(shù)據(jù)請(qǐng)求
在頁(yè)面加載請(qǐng)求數(shù)據(jù)時(shí),在小程序中一般會(huì)在onLoad或者onShow中請(qǐng)求數(shù)據(jù)。
數(shù)據(jù)綁定

react

小程序
WXML中的動(dòng)態(tài)數(shù)據(jù)均來(lái)自對(duì)應(yīng)Page的data。數(shù)據(jù)綁定使用Mustache(雙大括號(hào))將變量包起來(lái)。

   

注意:
(1)不要直接寫(xiě)hidden=’false’,其計(jì)算結(jié)果是一個(gè)字符串,轉(zhuǎn)成boolean類型后代表真值。
(2)花括號(hào)和引號(hào)之間如果有空格,將最終被解析成為字符串。

   
       {{item}}
   

等同于

   {{item}}


可以在{{}}內(nèi)進(jìn)行簡(jiǎn)單的運(yùn)算,支持的運(yùn)算有:
(1) 三元運(yùn)算

(2) 算數(shù)運(yùn)算
{{a+b}}+{{c}}+d
(3) 邏輯判斷
5}}’>
(4) 字符串運(yùn)算

   {{"hello" + name}}

(5) 數(shù)據(jù)路勁運(yùn)算
可以直接讀取data中的屬性值
{{ object.name }}
如果想在wxml中進(jìn)行復(fù)雜一點(diǎn)的邏輯運(yùn)算可以借助于wxs

列表渲染

react

小程序
在組件上使用wx:for控制屬性綁定一個(gè)數(shù)組,即可使用數(shù)組中各項(xiàng)的數(shù)據(jù)重復(fù)渲染該組件。默認(rèn)數(shù)組的當(dāng)前項(xiàng)的下標(biāo)變量名默認(rèn)為index,數(shù)組當(dāng)前項(xiàng)的變量名默認(rèn)為item

   
       {{index}}: {{item}}
   

使用wx:for-item可以指定數(shù)組當(dāng)前元素的變量名,
使用wx:for-index可以指定數(shù)組當(dāng)前下標(biāo)的變量名。

       {{ idx }}: {{ itemName’}}

也可以將wx:for用在標(biāo)簽上,以渲染一個(gè)包含多節(jié)點(diǎn)的結(jié)構(gòu)塊。例如:

   {{index}}: {{item}}


顯示與隱藏元素

react

小程序
在微信小程序中使用wx:if 和hidden來(lái)控制組件的顯示與隱藏。
wx:if中的模塊也可能包含數(shù)據(jù)綁定,所以當(dāng)wx:if的條件值切換時(shí),框架有一個(gè)局部渲染的過(guò)程,因?yàn)樗麜?huì)確保條件塊在切換時(shí)銷毀或重新渲染。 同時(shí)wx:if是惰性的,如果初始渲染條件是false,框架什么也不做,在條件第一次變成真的時(shí)候才開(kāi)始局部渲染。
hidden:組件始終會(huì)被渲染,只是簡(jiǎn)單的控制它的顯示與隱藏。
wx:if有更高的切換消耗,hidden有更高的初始渲染消耗。因此如果需要頻繁切換的情境下,用hidden更好,如果在運(yùn)行時(shí)條件不大可能改變則使用wx:if更好。

事件處理
事件是視圖層到邏輯層的通訊方式。
事件可以將用戶的行為反饋到邏輯層進(jìn)行處理。
事件可以綁定在組件上,當(dāng)達(dá)到觸發(fā)事件,就會(huì)執(zhí)行邏輯層中對(duì)應(yīng)的事件處理函數(shù)。
事件對(duì)象可以攜帶額外信息,如id, dataset,touches。

react

小程序
事件的綁定和冒泡
在小程序中,事件綁定以key、value的形式,[key] = [value] key使用bind + event或者catch + event的形式,value 是一個(gè)字符串,需要在page中定義同名函數(shù),不然觸發(fā)事件時(shí)會(huì)報(bào)錯(cuò)。
事件

bind和 catch的區(qū)別:
bind事件綁定不會(huì)阻止冒泡事件向上冒泡
catch事件綁定可以阻止冒泡事件向上冒泡。

事件的捕獲階段
觸摸類事件支持捕獲階段,捕獲階段位于冒泡階段之前,且在捕獲階段中,事件到達(dá)節(jié)點(diǎn)的順序與冒泡階段恰好相反。需要在捕獲階段監(jiān)聽(tīng)事件時(shí),可以采用capture-bind、capture-catch 關(guān)鍵字,后者將終端捕獲階段和取消冒泡階段。

數(shù)據(jù)雙向綁定

react

小程序
取值

       this.data.object

設(shè)置值

       this.setData({object});

通過(guò)setData進(jìn)行改變this.data中的值,從而改變view層的顯示

給事件綁定傳參

react
通過(guò) bind 方式向監(jiān)聽(tīng)函數(shù)傳參,在類組件中定義的監(jiān)聽(tīng)函數(shù),事件對(duì)象 e 要排在所傳遞參數(shù)的后面

小程序

在小程序不能直接給方法傳遞參數(shù),必須通過(guò) data-xx 的形式進(jìn)行傳遞, 然后在方法中通過(guò) event.currentTarget.dataset.xx進(jìn)行獲取

父子組件通信

說(shuō)明:在aa組件(aa.js)中有一個(gè)bb組件(bb.js)

在react中
(1) 父組件 ---> 子組件
//aa.js 存入

//bb.js 取出

備注:需要保持名字一致

      
(2) 子組件 ---> 父組件
//aa.js

//bb.js

在小程序中
(1) 父組件 ---> 子組件

   //aa.js 存入
   

//bb.js  使用

小程序中是直接使用,跟在data中定義的變量一樣。

(2) 子組件 ---> 父組件
//aa.js


//bb.js

備注:不管是在react還是在小程序中,子組件到父組件的數(shù)據(jù)傳遞都是通過(guò)回調(diào)函數(shù)獲得的

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/97723.html

相關(guān)文章

  • 也許你并不需要第三方程序框架

    摘要:所以在小程序出現(xiàn)之后,一股框架之風(fēng)也很快的出現(xiàn),微信小程序剛推出之后,就出現(xiàn)了兩個(gè)比較出名的小程序開(kāi)發(fā)框架,。 原文地址:https://ant-move.github.io/we... 這里說(shuō)的去除小程序框架其實(shí)并不嚴(yán)謹(jǐn),因?yàn)樾〕绦虮旧硪菜闶且粋€(gè)框架,而且是一個(gè)功能更加完善的框架系統(tǒng)。在前端的概念中,我們一般說(shuō)一個(gè)框架是指一個(gè)用來(lái)幫助開(kāi)發(fā)者構(gòu)建用戶界面的框架,而小程序框架本身不僅僅包...

    red_bricks 評(píng)論0 收藏0
  • 珠峰前端架構(gòu)師培養(yǎng)計(jì)劃

    摘要:公司的招聘要求都提到了至少熟悉其中一種前端框架,有前端工程化與模塊化開(kāi)發(fā)實(shí)踐經(jīng)驗(yàn)相關(guān)字眼。我們主要從端公眾號(hào)移動(dòng)端小程序三大平臺(tái)進(jìn)行前端的技術(shù)選型,并來(lái)說(shuō)說(shuō)選其技術(shù)的幾大優(yōu)勢(shì)。技術(shù)的優(yōu)勢(shì)互聯(lián)網(wǎng)前端大潮后,前端出現(xiàn)了大框架,分別是與。 1、技術(shù)選型的背景前端技術(shù)發(fā)展日新月異,互聯(lián)網(wǎng)上出現(xiàn)的新型框架也比較多,如何讓新招聘的人員...

    ccj659 評(píng)論0 收藏0
  • 前端最實(shí)用書(shū)簽(持續(xù)更新)

    摘要:前言一直混跡社區(qū)突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來(lái)有點(diǎn)混亂所以將前端主流技術(shù)做了一個(gè)書(shū)簽整理不求最多最全但求最實(shí)用。 前言 一直混跡社區(qū),突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來(lái)有點(diǎn)混亂; 所以將前端主流技術(shù)做了一個(gè)書(shū)簽整理,不求最多最全,但求最實(shí)用。 書(shū)簽源碼 書(shū)簽導(dǎo)入瀏覽器效果截圖showImg(https://segmentfault.com/img/bVbg41b?w=107...

    sshe 評(píng)論0 收藏0
  • 【Copy攻城獅日志】借助Taro暴改Nideshop實(shí)現(xiàn)電商支付寶程序雛形

    摘要:接下來(lái),在支付寶小程序開(kāi)發(fā)者工具中打,不出意外能跑起來(lái)一個(gè)電商支付寶小程序雛形。地址以上是我這個(gè)攻城獅對(duì)使用轉(zhuǎn)換原生微信小程序?yàn)橹Ц秾毿〕绦虻囊淮挝⒉蛔愕赖膶?shí)踐。 showImg(https://segmentfault.com/img/bVbnCCN?w=1818&h=931);↑開(kāi)局一張圖,故事全靠編↑ 從一個(gè)需求說(shuō)起 作為底層的程序猿,哦不,我連猿都算不上,混的好的叫碼神,混得一...

    gnehc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<