最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React 封裝自定義組件的操作方法

 更新時間:2023年12月13日 09:21:28   作者:Etc.End  
React中自定義組件的重要性在于它們提供了代碼重用、降低耦合性、提升可維護(hù)性、更好的團(tuán)隊協(xié)作、靈活性和易于測試和調(diào)試等好處,從而提高了開發(fā)效率和質(zhì)量,這篇文章主要介紹了React 封裝自定義組件,需要的朋友可以參考下

一、專欄介紹 ????

本專欄將引領(lǐng)您快速上手React,讓我們一起放棄放棄的念頭,開始學(xué)習(xí)之旅吧!我們將從搭建React項目開始,逐步深入講解最核心的hooks,以及React路由、請求、組件封裝以及UI(Ant Design)框架的使用。讓我們一起掌握React,開啟前端開發(fā)的全新篇章!

二、什么是自定義組件 ????

自定義組件是指根據(jù)應(yīng)用需求,自定義的組件。它們可以是有狀態(tài)的或無狀態(tài)的,可以接受props并返回JSX或null,并且可以包含生命周期方法、refs、context等等。 自定義組件在React應(yīng)用中非常常見,因為React的核心思想就是組件化。每一個React頁面都是由一個或多個組件構(gòu)成,組件是構(gòu)建React應(yīng)用程序的基石。它們可以封裝可重用的UI組件,使代碼更加模塊化和可維護(hù)。 自定義組件可以有很多用途。例如,它們可以創(chuàng)建可重用的UI組件,如按鈕、表單、布局等。同時,它們也可以用于封裝復(fù)雜的業(yè)務(wù)邏輯,將復(fù)雜的業(yè)務(wù)邏輯抽象為可重用的組件,提高代碼的可維護(hù)性和可重用性。此外,自定義組件還可以用于實現(xiàn)AOP(面向切面編程),將通用邏輯(如認(rèn)證、日志)封裝到單獨的組件中,避免在各個角落重復(fù)編寫代碼。 總之,自定義組件是React中非常重要的概念,它們可以幫助開發(fā)者更好地組織和維護(hù)代碼,提高開發(fā)效率和質(zhì)量。

三、組件需求 ????

根據(jù)需求,需要定義一個組件,該組件根據(jù)viewMode屬性的不同顯示不同的狀態(tài)。當(dāng)viewMode為edit時,顯示一個標(biāo)題和輸入框,表示編輯狀態(tài);當(dāng)viewMode為view時,顯示一個標(biāo)題和一個內(nèi)容,表示查看狀態(tài)。此外,該組件還需要集成原生的input輸入框,并具有自己的屬性。

四、編寫組件源碼 ????

新建文件src/components/CustomInput.tsx

自定義組件首字母一定要大寫并且使用駝峰命名方式

InputHTMLAttributes<HTMLInputElement>為input框原生的屬性。

import React, { InputHTMLAttributes } from 'react';
import './CustomInput.scss';
const CustomInput: React.FC<
  InputHTMLAttributes<HTMLInputElement> & {
    label: string | number; // 這里的意思label屬性可以是一個字符串也可以是一個數(shù)字。
    viewMode?: 'view' | 'edit'; // 這里的意思是view屬性只能是view或者edit字符串
  }
> = ({ label, viewMode = 'edit', ...props }) => {
  // view = 'edit' 表示默認(rèn)值就是edit
  if (viewMode === 'edit') {
    return (
      <>
        <div className={'ts-custom-input edit'}>
          <span>{label}:</span>
          <input {...props} />
        </div>
      </>
    );
  }
  return (
    <>
      <div className={'ts-custom-input view'}>
        <span className={'title'}>{label}:</span>
        <span className={'content'}>{props.defaultValue}</span>
      </div>
    </>
  );
};
export default CustomInput;

新建文件src/components/CustomInput.scss

.ts-custom-input {
  width: 100%;
  height: 26px;
  line-height: 26px;
  &.view {
    .title {
      color: black;
    }
    .content {
      color: #696767;
    }
  }
}

使用組件

import React from 'react';
import CustomInput from './components/CustomInput';
function App() {
  return (
    <div className="App">
      <CustomInput
        label="姓名"
        placeholder="請輸入值"
        viewMode={'edit'}
        defaultValue={'我是默認(rèn)值'}
        onChange={(e) => {
          console.log('??????-----------------輸入值發(fā)生了變化,現(xiàn)在是:', e.target.value);
        }}
      />
      <CustomInput label="姓名" viewMode={'view'} defaultValue={'我是默認(rèn)值'} />
    </div>
  );
}
export default App;

效果

五、總結(jié) ????

React中自定義組件非常重要、很有必要花時間好好的學(xué)學(xué)。

自定義組件可以將UI切分成一些獨立的、可復(fù)用的部件,這樣只需專注于構(gòu)建每一個單獨的部件,從而在多個項目中重用代碼。這提高了開發(fā)效率,降低了維護(hù)成本。

組件化開發(fā)降低了系統(tǒng)各個功能之間的耦合性,提高了功能內(nèi)部的聚合性。這使得代碼更容易理解和修改,降低了開發(fā)復(fù)雜度。

自定義組件遵循一定的命名和規(guī)范,使得代碼更加清晰和易于維護(hù)。當(dāng)需要修改或擴(kuò)展功能時,只需找到對應(yīng)的組件進(jìn)行修改,而不需要在整個項目中搜索和修改相關(guān)代碼。

自定義組件使得團(tuán)隊成員可以更容易地分工合作,每人負(fù)責(zé)一個或多個組件的開發(fā)和維護(hù)。這提高了團(tuán)隊的協(xié)作效率,降低了溝通成本。

自定義組件可以接受不同的屬性和參數(shù),根據(jù)需求進(jìn)行定制。這使得組件具有很高的靈活性,可以適應(yīng)各種場景和需求。

自定義組件可以獨立地進(jìn)行測試和調(diào)試,這使得問題定位和修復(fù)更加容易。同時,組件的獨立性也使得自動化測試更加容易實現(xiàn)。

總之,React中自定義組件的重要性在于它們提供了代碼重用、降低耦合性、提升可維護(hù)性、更好的團(tuán)隊協(xié)作、靈活性和易于測試和調(diào)試等好處,從而提高了開發(fā)效率和質(zhì)量。

到此這篇關(guān)于React 封裝自定義組件的文章就介紹到這了,更多相關(guān)React 封裝組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React 小技巧教你如何擺脫hooks依賴煩惱

    React 小技巧教你如何擺脫hooks依賴煩惱

    Hooks 是一種函數(shù),該函數(shù)允許您從函數(shù)式組件 “勾住(hook into)” React 狀態(tài)和生命周期功能。 Hooks 在類內(nèi)部不起作用 - 它們允許你無需類就使用 React,本文帶領(lǐng)大家學(xué)習(xí)React 小技巧教你如何擺脫hooks依賴煩惱,感興趣的朋友一起看看吧
    2021-05-05
  • 淺談React多個setState會調(diào)用幾次

    淺談React多個setState會調(diào)用幾次

    在React的生命周期鉤子和合成事件中,多次執(zhí)行setState,會被調(diào)用幾次,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-11-11
  • react-native聊天室|RN版聊天App仿微信實例|RN仿微信界面

    react-native聊天室|RN版聊天App仿微信實例|RN仿微信界面

    這篇文章主要介紹了react-native聊天室|RN版聊天App仿微信實例|RN仿微信界面,需要的朋友可以參考下
    2019-11-11
  • React的組件協(xié)同使用實現(xiàn)方式

    React的組件協(xié)同使用實現(xiàn)方式

    這篇文章主要介紹了React的組件協(xié)同使用,文中給大家提到在React開發(fā)中,有哪些場景的組件協(xié)同?又如何去實現(xiàn)組件的協(xié)同使用呢?本文都給大家提到,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • React使用Redux實現(xiàn)組件通信的項目實踐

    React使用Redux實現(xiàn)組件通信的項目實踐

    本文主要介紹了React使用Redux實現(xiàn)組件通信的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-09-09
  • DOM 注入實踐之如何在 React 中優(yōu)雅地擴(kuò)展第三方組件

    DOM 注入實踐之如何在 React 中優(yōu)雅地擴(kuò)展第三方組件

    本文將介紹一種更優(yōu)雅的解決方案——DOM 注入 + React Portal,通過抽象的示例展示這種技術(shù)方案的應(yīng)用場景和實現(xiàn)方法,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • react?定位組件源碼解析

    react?定位組件源碼解析

    這篇文章主要為大家介紹了react定位組件源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • React中獲取數(shù)據(jù)的3種方法及優(yōu)缺點

    React中獲取數(shù)據(jù)的3種方法及優(yōu)缺點

    這篇文章主要介紹了React中獲取數(shù)據(jù)的3種方法及優(yōu)缺點,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • React自定義Hook-useForkRef的具體使用

    React自定義Hook-useForkRef的具體使用

    本文主要介紹了React自定義Hook-useForkRef的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • React?懸浮框內(nèi)容懶加載實例詳解

    React?懸浮框內(nèi)容懶加載實例詳解

    這篇文章主要為大家介紹了React?懸浮框內(nèi)容懶加載實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評論

石柱| 嘉义市| 德格县| 乌拉特前旗| 平乡县| 略阳县| 饶河县| 宜城市| 兴山县| 禹州市| 宜昌市| 凌云县| 曲靖市| 长岛县| 密山市| 富源县| 武平县| 石家庄市| 恭城| 谢通门县| 千阳县| 措美县| 沂南县| 侯马市| 安阳市| 台江县| 清涧县| 青铜峡市| 龙川县| 托克逊县| 安吉县| 从江县| 织金县| 吴江市| 金门县| 蓬溪县| 从化市| 洛隆县| 金塔县| 巨鹿县| 永善县|