黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 如何理解JSX和React組件?

如何理解JSX和React組件?

來源:千鋒教育
發布人:wjy
時間: 2022-07-11 17:31:00 1657531860

  如何理解JSX和React組件?JSX 實際上是一個 JavaScript 對象,所以在使用 React 和 JSX 時,必須經過編譯過程。React 核心機制 virtual DOM,可以在內存中創建的虛擬 DOM 元素。React 利用虛擬 DOM 減少對實際 DOM 的操作以提高性能,虛擬 DOM 也可以通過 JavaScript 創建。

  Reactjs 起源于 Facebook 的內部項目。它是一個用于構建用戶界面的 javascript 庫。相當于MVC架構中的V層框架。與市場上的其他框架不同,React 將每個組件都視為狀態機。組件狀態的變化是通過狀態來維護的。當組件的狀態發生變化時,React 使用虛擬 DOM 技術來增量和高效地更新真實 DOM。

如何理解JSX和React組件

  1),JSX的優勢和局限

  1、 將相關代碼放在一起,便于維護,這是單個組件所必需的。

  2、render函數是純函數,它不做渲染,只是返回一些指令,然后通過這些指令,React通過DOM或者虛擬DOM進行操作,所以react返回的結果都是通過React.createElement 產生的結果

  3、jsx中的{}只能是表達式,不能是語句,因為jsx可以通過babel轉換成React.createElement的形式渲染,但是React.createElement中的參數只能是表達式公式不能是語句(如for循環、if判斷等),jsx中render函數的{}中不能使用push()、reverse()等數組方法,因為render應該是純函數,而純函數不應該有副作用。渲染應該是狀態或道具。如果使用 push() 和 reverse() 等數組方法,則直接修改 state 或 props 中的數據,而不是生成新數據。

  2),什么時候使用 props,什么時候使用 state?

  在react中,data包括:satae和props,props是從外部組件傳遞過來的數據,satae是組件的內部狀態,一個組件自己的satae可以作為傳遞給其子組件的props的數據源,一個組件如果要改變自己的狀態,只能通過setState來改變自己的狀態。一個組件不能通過修改自己的props直接改變自己的更新狀態,也不能修改自己的porps,因為修改自己的props會很亂。只要 props 能處理事情,盡量不要使用 state。

  使用parent傳遞過來的props作為child的狀態會導致值引用對象影響的問題,即如果我改變child的狀態,parent props也會隨之改變

  3),React 組件的生命周期

  React 組件的生命周期分為三個過程:

  mount:從頭開始的過程

  update:重新渲染,分為狀態改變觸發和props觸發

  卸載:從有到無

  掛載過程:getDefaultProps getInitialState componentWillMount render componentDidMount:這個函數只能在瀏覽器端執行,但是在使用React做服務端渲染時,就不能在服務端執行(因為在服務端突出的那個—— side是一個字符串,基本上沒有掛載DOM樹的參數,所以不會執行),

  狀態變化引起的更新過程:

  shouldComponentUpdate 組件WillUpdate 渲染組件DidUpdate

  父組件想要渲染這個組件變化引起的更新過程:

  componentWillReceiveProps shouldComponentUpdate componentWillUpdate 渲染 componentDidUpdate

  如果父組件不需要重新渲染,shouldComponentUpdate會返回false,所以后續的componentWillUpdate、render、componentDidUpdate都不會執行。

  無論是掛載過程中的render函數之前的聲明周期還是更新過程中,獲取到的state或者props都是之前沒有變化過的數據。只有在render函數之后才是數據改變后的狀態。

  4)、為什么要嘗試構建無狀態組件

  無狀態組件是一個純函數。盡量使組件成為純函數形式的無狀態組件。因為可以減少一些bug的出現,所以我們應該集中管理一些有狀態的組件(也就是它們包含狀態),并且讓它們的子組件是無狀態的組件,這樣便于管理和維護,

  5),創建高階組件(HoC,Higher-Order Component)

  HoC高階組件使用場景,與高階組件共享一個通用功能,無需編寫相同的功能代碼。

  6),組件之間的通信

  父組件以properties的形式向子組件傳遞參數,子組件通過props接受父組件傳遞的參數;

  如果子組件要與父組件通信,子組件需要調用父組件傳遞的方法;

  兄弟組件之間的通信可以使用父組件作為中介來傳遞數據(父組件中寫了兩個函數,這兩個函數分別傳遞給兩個子組件,然后相互引用)

  任何組件之間的通信都可以通過設置一個全局變量來傳遞數據。

  如果這個項目比較復雜,當然也可以使用redux來進行組件間的通信。

  更多關于“web前端培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
国产网站在线| 日日日夜夜操| 日韩专区第一页| 日日爽天天| 一 级 黄 中国色 片| 青青青草影院| 免费的黄视频| 欧美a级片免费看| 99久久精品费精品国产一区二区| 亚洲精品影院| 亚洲精品中文字幕久久久久久| 国产综合成人观看在线| 国产网站免费观看| 午夜在线影院| 精品国产一区二区三区精东影业 | 韩国毛片基地| 可以在线看黄的网站| 色综合久久天天综线观看| 夜夜操天天爽| 久久精品免视看国产成人2021| 日日夜夜婷婷| 精品国产一区二区三区精东影业 | 香蕉视频一级| 精品视频免费看| 国产一区二区精品久久91| 成人免费观看视频| 可以免费看污视频的网站| 久久久成人网| 日本特黄特黄aaaaa大片| 午夜欧美成人香蕉剧场| 精品国产三级a∨在线观看| 久久精品店| 欧美爱色| 99色播| 色综合久久天天综合绕观看| 91麻豆精品国产高清在线| 国产麻豆精品| 国产91丝袜在线播放0| 精品国产一区二区三区精东影业| 欧美激情一区二区三区中文字幕| 欧美一级视频免费观看| 日韩在线观看视频免费| 欧美日本二区| 欧美日本二区| 天天做人人爱夜夜爽2020 | 中文字幕一区二区三区精彩视频| 国产麻豆精品高清在线播放| 韩国毛片| 青青青草视频在线观看| 欧美电影免费| 亚洲女初尝黑人巨高清在线观看| 黄色短视频网站| 免费国产在线视频| 日韩在线观看网站| 国产91精品露脸国语对白| 99热精品一区| 国产成人精品综合在线| 香蕉视频久久| 国产a视频精品免费观看| 成人影视在线播放| 久久久久久久免费视频| 韩国三级香港三级日本三级| 欧美电影免费| 黄视频网站在线免费观看| 日韩在线观看网站| 日韩专区一区| 国产精品自拍在线观看| 日韩中文字幕在线播放| 九九九网站| 免费一级片在线| 黄色福利| 欧美国产日韩一区二区三区| 国产综合91天堂亚洲国产| 精品久久久久久中文字幕一区| 精品国产一区二区三区久| 成人影视在线播放| 91麻豆国产级在线| 精品毛片视频| 日韩欧美一及在线播放| 韩国三级视频网站| 精品国产一区二区三区免费 | 国产麻豆精品高清在线播放| 国产91精品系列在线观看| 青青久久国产成人免费网站| 国产极品白嫩美女在线观看看| 欧美1区2区3区| 欧美激情中文字幕一区二区| 国产福利免费视频| 成人免费网站视频ww| 九九九国产| 天天色成人| 精品视频一区二区三区免费| 中文字幕97| 九九精品久久| 可以在线看黄的网站| 99色视频在线观看| 91麻豆精品国产自产在线| 99久久精品费精品国产一区二区| 人人干人人草| 日韩在线观看视频免费| 99久久精品国产国产毛片| 成人影院久久久久久影院| 黄色短视频网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本在线不卡视频| 欧美一级视频免费观看| 韩国毛片免费大片| 亚洲天堂免费| 午夜在线亚洲| 欧美另类videosbestsex高清 | 久久久成人影院| 欧美激情一区二区三区在线播放 | 久草免费在线视频| 精品在线观看一区| 欧美a免费| 日日夜夜婷婷| 免费国产在线观看| 国产一区精品| 欧美国产日韩在线| 国产一区二区精品| 亚洲精品影院| 日本伦理黄色大片在线观看网站| 亚洲www美色| 日韩中文字幕在线观看视频| 日日爽天天| 久草免费在线视频| 一级毛片视频免费| 久久精品欧美一区二区| 天天色成人| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩中文字幕一区| 91麻豆国产| 99久久视频| 国产伦理精品| 高清一级毛片一本到免费观看| 日韩中文字幕一区| 黄视频网站免费看| 国产成人精品影视| 91麻豆高清国产在线播放| 99热精品在线| 免费国产在线视频| 欧美日本韩国| 精品久久久久久中文字幕一区| 四虎影视久久久| 免费国产在线观看| 国产一区二区精品在线观看| 一级毛片视频免费| 成人影院久久久久久影院| 欧美日本韩国| 国产精品自拍一区| 精品在线观看国产| 免费国产在线观看不卡| 色综合久久天天综合观看| 高清一级淫片a级中文字幕| 深夜做爰性大片中文| 国产韩国精品一区二区三区| 精品视频在线观看免费| 韩国妈妈的朋友在线播放| 中文字幕一区二区三区 精品| 日本伦理黄色大片在线观看网站| 99热精品一区| 91麻豆精品国产综合久久久| 精品久久久久久中文| 精品视频在线观看一区二区| 99热精品在线| 麻豆网站在线看| 精品在线观看国产| 日韩免费在线观看视频| 91麻豆精品国产高清在线| 毛片高清| 国产视频一区二区在线播放| 欧美18性精品| 亚洲 国产精品 日韩| 国产精品自拍在线观看| 黄视频网站在线免费观看| 久久精品免视看国产明星| 国产麻豆精品免费视频| 91麻豆精品国产自产在线| 亚洲女人国产香蕉久久精品| 成人高清视频在线观看| 国产一级强片在线观看| 亚洲第一页色| 成人高清视频在线观看| 日韩在线观看视频网站| 在线观看成人网 | 99色播| 二级片在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 尤物视频网站在线观看| 99久久精品国产麻豆| 国产精品自拍亚洲| 91麻豆精品国产高清在线| 国产麻豆精品| 欧美爱色| 日韩av成人| 九九九网站| 日韩av片免费播放| 日本在线www| 精品视频在线观看一区二区三区| 久久久久久久久综合影视网|