react-hooks學習

1. useState:  返回的一個變量,因爲js 是單線程的當useState被調用時,就是當前組件的useState, 當一個組件有多個useState的時候,返回是根據傳入的順序來返回的

2. useEffect: 是 (cmoponentDidMount和componentDidUpdate和 componentWillUnmout)的集合,在渲染後執行,useEffect(回調函數,數組)
  1. 第二個參數不傳,所有更新都會執行  2. 傳遞[],僅在掛載和卸載的時候執行 3. [name,...arg],在name,或其它參數更新時執行    
2. 第一個參數有返回函數的時候在組件銷燬的時候執行

3. useContext:
1.導入並調用createContext方法,得到Context對象

import { createContext } from 'react'
export const Context = createContext()
2.使用 Provider 組件包裹根組件,並通過 value 屬性提供要共享的數據
return (
  <Context.Provider value={ 傳遞的數據 }>
      <根組件的內容,這裏面都可以獲取到context傳遞的值/>
  </Provider>
)
3.在任意後代組件中,獲取公共數據

import React, { useContext } from 'react'
import { Context } from './某個文件'
const 函數組件 = () => {
    const 公共數據 = useContext(Context)
    return ( 函數組件的內容 )
}

 4. useRef   

    1. 返回一個ref對象,該對象只有一個current屬性,初始值爲傳入的參數(initValue)

    2. 當更新current的值,並不會render,這是與useState不同點

    3. 返回的ref對象在整個組件生命週期內保持不變

    4. useRef 類似於組件的this

    使用場景: 1. 獲取組件的實例   2 需要保存上一次的共享數據

 
  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章