国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

營銷網(wǎng)站的搭建磁力兔子

營銷網(wǎng)站的搭建,磁力兔子,中國工商建設(shè)標(biāo)準(zhǔn)化協(xié)會網(wǎng)站,網(wǎng)站設(shè)計論文前言怎么寫1.React.createElement 我們知道在React17版本之前,我們在項目中是一定需要引入react的。 import React from “react” 即便我們有時候沒有使用到React,也需要引入。原因是什么呢? 在React項目中,如果我們使用了模板語法JSX&am…

1.React.createElement

我們知道在React17版本之前,我們在項目中是一定需要引入react的。

import React from “react”

即便我們有時候沒有使用到React,也需要引入。原因是什么呢?

在React項目中,如果我們使用了模板語法JSX,我們知道它要先經(jīng)過babel的轉(zhuǎn)譯。那babel會將JSX轉(zhuǎn)換成什么樣子的格式呢?

在這里插入圖片描述
可以看到,現(xiàn)在的babel會將JSX模板轉(zhuǎn)換成帶有jsx方法的內(nèi)容。但是在17之前,babel是將JSX轉(zhuǎn)換為帶有React.createElement方法的內(nèi)容。

而這也是為什么在17之前我們要引入React才能讓項目正常使用。

2.ReactElement元素

如果我們在項目代碼中,打印一個react元素:

const jsx = <div><span>123</span></div>
console.log(jsx)

可以在控制臺看到:
在這里插入圖片描述
所以我們通過babel轉(zhuǎn)譯后的內(nèi)容,執(zhí)行完應(yīng)該生成這樣的一個ReactElement對象。
所以在實現(xiàn)jsx方法前,我們可以定義一個ReactElement類(實際的React源碼中是一個方法,但是這里為了好看一些,使用類的結(jié)構(gòu))。

class ReactElement {constructor(key, props, ref, type) {this.$$typeof = Symbol.for('react.element')this.key = key;this.props = props;this.ref = ref;this.type = type;}
}

3.實現(xiàn)JSX方法

在上面的轉(zhuǎn)譯內(nèi)容我們可以看到,jsx方法接受兩個參數(shù),第一個參數(shù)是類型:例如div,span或者自定一類型。
第二個參數(shù)是配置參數(shù):例如class,ref等參數(shù)。

我們只需要將ref,type,key這三個屬性,直接賦值給ReactElement元素。而其他的屬性全部放在props里面就可以了:

function jsx(type, config) {let key, props = {}, ref;for(let propName in config){if(propName === 'key'){key = config[propName];}else if(propName === 'ref'){ref = config[propName];}else {props[propName] = config[propName]}}return new ReactElement(key,props,ref,type)
}

由于遞歸的過程已經(jīng)被babel處理了,所以其實在jsx方法中只需要遍歷即可,并不需要太過復(fù)雜的處理。

4.測試

現(xiàn)在我們使用babel轉(zhuǎn)譯過的內(nèi)容,對jsx方法進(jìn)行測試:

const reactElement = jsx("div", {ref: "123",style: {color: 'red'},children: ["123", jsx("span", {children: "456"})]
});console.log(reactElement)

可以在控制臺看到j(luò)sx方法執(zhí)行的結(jié)果:
在這里插入圖片描述

以上就是通過babel處理后,react對處理的內(nèi)容做的初步處理。

http://m.aloenet.com.cn/news/30489.html

相關(guān)文章:

  • 類似非小號的網(wǎng)站怎么做軟文推廣一般發(fā)布在哪些平臺
  • 上城網(wǎng)站建設(shè)百度快照推廣是什么意思
  • 網(wǎng)站添加視頻代碼網(wǎng)絡(luò)建站流程
  • 亞馬遜做deal的網(wǎng)站淘寶指數(shù)網(wǎng)址
  • 網(wǎng)站建設(shè)怎樣上傳程序企業(yè)網(wǎng)站營銷的實現(xiàn)方式
  • 做網(wǎng)站的畢設(shè)開題依據(jù)在線注冊網(wǎng)站
  • 如何在office做網(wǎng)站360站長平臺
  • 公司網(wǎng)站維護(hù)好做嗎百度移動端排名軟件
  • 網(wǎng)站建設(shè)外包流程網(wǎng)站排名優(yōu)化怎樣做
  • 萊蕪亓家網(wǎng)站優(yōu)化神馬網(wǎng)站關(guān)鍵詞排名價格
  • 網(wǎng)站建設(shè)在線視頻百度云搜索入口
  • diy做網(wǎng)站搜索關(guān)鍵詞的工具
  • 學(xué)做靜態(tài)網(wǎng)站怎么做電商生意
  • 織夢網(wǎng)站聯(lián)系我們的地圖怎么做關(guān)鍵詞搜索廣告
  • 湛江模板建站系統(tǒng)海外短視頻軟件
  • 哪里做網(wǎng)站最好小時seo加盟
  • 建設(shè)云南省癌癥中心網(wǎng)站關(guān)鍵詞優(yōu)化價格
  • 網(wǎng)站新聞對百度優(yōu)化有用嗎百度網(wǎng)盤搜索入口
  • 虛擬主機(jī)怎么弄網(wǎng)站南昌seo推廣
  • 網(wǎng)站專做盜版小說 會犯法嗎百度搜索指數(shù)排行榜
  • 諸城網(wǎng)絡(luò)營銷免費(fèi)發(fā)seo外鏈平臺
  • 廈門大型企業(yè)網(wǎng)站開發(fā)公司高級seo招聘
  • 學(xué)校教育網(wǎng)站模板惡意點(diǎn)擊推廣神器
  • 有沒有好網(wǎng)站推薦提升網(wǎng)頁優(yōu)化排名
  • ppt做的好的網(wǎng)站有哪些樂事薯片軟文推廣
  • nb-iot網(wǎng)站開發(fā)百度付費(fèi)推廣有幾種方式
  • 合肥晨曦網(wǎng)站建設(shè)百度競價關(guān)鍵詞怎么優(yōu)化
  • 東莞市國外網(wǎng)站建設(shè)平臺谷歌網(wǎng)頁版
  • 網(wǎng)站建設(shè)產(chǎn)業(yè)pest分析windows優(yōu)化軟件排行
  • 廣州企業(yè)網(wǎng)站建設(shè)推薦域名服務(wù)器ip地址查詢