React - 組件:函數組件


目錄:

    1. 組件名字首字母一定是大寫的
    2. 返回一個jsx
    3. jsx依賴React,所以組件內部需要引入React
    4. 組件傳參
        a. 傳遞. <Component list={ arrData }><Component>
        b. 接收. function Component( props ){...}
        c. 使用. const { list } = props,list就是參數數據
    5. 缺點:【無狀態組件】只能實現很簡單的視圖展示功能,沒有自己的內容數據、沒有狀態,沒有邏輯處理,【沒有this】,【沒有生命周期】。
    6. 16.7以后版本的react有狀態和鈎子函數提供使用。不過版本過新不推薦用
  內部不用render函數,會自動把return返回結果當做render返回結果【見類組件的必須要求】

js文件中的函數組件:

首字母大寫、有返回jsx的函數組件

 

也可以直接調用函數,實現函數組件引用。

 

函數組件里可以返回一個字符串:

 

但是沒有返回值就會報錯:

 

組件之間寫內容不會展示出來:

 

組件身上寫className沒用:

 

渲染的結果如下:沒有組件中的內容,也沒有class類名

 

 

 

獨立寫在js里的函數組件:

必須引入React才能使用、導出函數本身。代碼如下

 

 

組件傳參:

傳入 - 屬性傳參

<HotList listData={ data } testData={ data2 }></HotList>

 

接收 - 參數接收
function HotList(props){
  console.log(props)
}

 

傳入1個參數時,props打印

傳入2個參數時,props打印

 

可見傳入的所有參數都集合在函數的props參數中,解構出來即可引用。

 

引用 - 解構或直接引用

直接使用
console.log(props)
console.log(props.testData)

 

解構使用:

 

 

函數組件的缺點:

無狀態組件
函數組件只能實現非常簡單的渲染功能。只是進行頁面的展示和數據的渲染。沒有邏輯的處理。也就是組件的內部是沒有自己的數據和狀態的。它是無狀態組件。
無狀態組件的使用時機是當且僅當數據展示、不需要邏輯處理的時候來使用。

沒有this
打印內部的this。得到undefined。
function HotList(props){
  console.log("打印函數組件內部的this:",this)
}

沒有生命周期
函數組件內部也沒有生命周期。

 

總結:

函數組件只有當展示視圖的時候才用。做復雜的數據處理、需要有自己的狀態的時候,需要用類組件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM