15321250321
              010-86462584

              APP開發 > APP學院 > APP開發工具

              JS開發手機APP

              2022-06-02

              JS開發手機中 Js 組件的類型 

              1. 功能組件 

              只需編寫 Javascript 函數即可創建功能組件。具體來說,函數式組件是那些接受 Props 并返回 JSX 的函數。功能組件可能會也可能不會以參數的形式接收數據。此外,功能組件沒有生命周期方法或狀態,但是可以通過簡單地實現 React Hooks 來添加它們。功能組件總是易于調試、閱讀和測試。 

              // Functional Component Exampleimport React from 'react';const HelloWorld = () => {
                 return (
                    <div>
                       <p>Hello Emizen!</p>
                    </div>
                 )}export default HelloEmizen;

              在上面的代碼圖中,它是一個簡單的組件,帶有常量變量“Hello Emizen”。常量變量被分配給返回 JSX 的箭頭函數。功能組件不需要是箭頭函數,也可以使用常規 JavaScript 函數簡單地聲明。同時,Props 也可以傳入函數中,用于渲染 JSX 代碼中的數據。

              2.類組件 

              Class 組件是所有類型中使用最多的組件。原因是類組件具有執行功能組件的每個功能的能力,同時還具有一些附加功能。它還可以有效地利用 React 的主要功能、道具、狀態和生命周期方法。但是,類組件與功能組件相比相對更復雜。數據可以很容易地從一個類組件傳遞到另一個類組件。

              // 類組件示例import React from 'react';class HelloWorld extends React.Component {
                 使成為() {
                    返回 (
                       <div>
                          <p>你好艾米森!</p>
                       </div>
                    )
                 }}導出默認的HelloEmizen;

              在上面的例子中可以觀察到 class 組件使用了extends React.Componentafter class Hello Emizen。然后,它還需要render()返回 JSX 代碼的方法。在類組件中,可以聲明一個狀態,將其設置為 JavaScript 對象,并用于props在生命周期方法中處于初始階段和更改狀態。它將需要 React Hooks 通過功能組件執行這些操作。

              3.純組件

              純組件是人們可以編寫的最簡單、最快速的組件。由于純組件不會修改或依賴其范圍之外的不同變量的狀態,因此它們可以輕松替換簡單的功能組件。僅返回渲染函數的組件最適合純組件。Pure 組件的最大用例是提供優化。 

              React.Component和的最大區別在于React.PureComponent,純組件對狀態變化的比較淺。純組件自動管理shouldComponentUpdate().

              React 組件主要在以下情況下重新渲染: 

              • setState()叫做

              • forceUpdate()叫做 

              • props值已更新

              4. 高階組件

              也稱為 HOC 的高階組件不太像 React 組件,而更像是一種模式,這是 React 組合特性的結果。HOC 的主要用例是與其他組件共享邏輯。

              // HOC Exampleimport React from 'react';import MyComponent from './components/MyComponent';class HelloEmizen extends React.Component {
                 render() {
                    return(
                       <div>
                          {this.props.myArray.map((element) => (
                             <MyComponent data={element} key={element.key} />
                          ))}
                       </div>
                    )
                 }}export default HelloEmizen;

              上面的代碼圖像有一個簡單的組件來描述更高級別的組件。這里的關鍵代碼是this.props.myArray.map((element) => (<MyComponent />)。此函數返回組件。組件的數量僅取決于數組中稱為 HOC 的元素數量。該函數從 state 中獲取一個數組,從而通過將每個元素轉換為 React 組件來映射數組中的每個元素。  

              以下是高階組件的簡單概要: 

              1. 從 props 或 state 中獲取數據

              2. 映射數組并返回每個元素的 Reach 組件。

              如何渲染 Js 開發APP組件?

              可以按照以下步驟來渲染 ReactJS 組件: 

              • 首先,創建一個 ES6 類,其名稱與 extends 相同React.Component。 

              • 一個空方法被添加到它,稱為render().

              • 函數體被移動到render()方法中。

              • 在正文中替換為props。this.propsrender()

              • 最后,刪除剩余的空函數聲明。

              反應嵌套組件

              Reactjs 最好的事情之一是組件可以相互嵌套。此功能有助于顯著創建復雜的用戶界面。在這里,子組件嵌套在父組件內。組件相互嵌套稱為內部嵌套和外部嵌套。

              • 導出:當一個特定的模塊或文件被導出并在另一個模塊中使用時,它被稱為導出。 

              • 導入:當特定模塊或文件被導入并在現有模塊中使用時,稱為導入。

              • 以上就是JS開發APP的介紹,對于從事js開發人員有一定的參考價值,JS開發制作手機APP是時代的趨勢,開發功能多,速度快,可更新。

              客服QQ:121446412 聯系電話:15321250321

              京ICP備17026149號-1

              版權所有@2011-2022 北京天品互聯科技有限公司 公司地址:北京市海淀區上地信息路甲28號B座(二層)02D室-010號

              主站蜘蛛池模板: 91视频国产一区| 精品人妻无码一区二区色欲产成人| 中文字幕在线不卡一区二区| 久久蜜桃精品一区二区三区| 精品成人av一区二区三区| 国产一区在线mmai| 精品日韩在线视频一区二区三区| 久久久久一区二区三区| 精品视频在线观看一区二区| 中文字幕日韩一区二区不卡| 久久精品道一区二区三区| 亚洲免费视频一区二区三区| 毛片一区二区三区无码| 色噜噜狠狠一区二区| 国产综合无码一区二区辣椒| 天堂不卡一区二区视频在线观看| 亚洲一区二区三区乱码在线欧洲| 国产亚洲3p无码一区二区| 一区二区三区在线视频播放| 免费一本色道久久一区| 亚洲av成人一区二区三区 | 亚洲乱码一区av春药高潮| 亚洲成av人片一区二区三区| 国产一区二区三区在线电影| 国内精品一区二区三区在线观看| 日韩精品无码免费一区二区三区 | 一区 二区 三区 中文字幕| 一区一区三区产品乱码| 亚洲国产精品综合一区在线| 老熟妇仑乱视频一区二区| 久久se精品动漫一区二区三区| 国产一区二区三区不卡观| 国产成人精品无码一区二区三区| 精品视频在线观看你懂的一区| 精品一区二区三区水蜜桃| 日本精品一区二区久久久| 一区国严二区亚洲三区| 久久精品国产一区二区三区不卡| 香蕉视频一区二区| 国产精品无圣光一区二区 | 亚洲av乱码一区二区三区|
              收縮
              • 15321250321