react hooks
hooks是乙個新的react特性提案,適用於函式式元件(檢視元件),如果需要外部react特性(比如狀態管理、生命週期),就用鉤子把外部特性「鉤」進來,典型標誌是函式名字都是以use開頭。
usecontext 直接獲取祖先元素通過createcontext建立的context;
usereducer
const
[state, dispatch]
=usereducer
(reducer, initialstate, init)
;
memo,usememo和usecallback在優化元件的應用場景
useref
不符合capture values,本身不會變化,儲存的.current會變化
會觸發值的變化,不會調起render的重新渲染,多用於邏輯層資料處理,涉及到頁面重新渲染的需要使用usestate
useimperativehandle
配合forwardref使用,用於自定義通過ref給父元件暴露的值
usedebu**alue
用於開發者工具除錯
封裝hooks獲取視窗大小
// usewinsize
import react,
from
'react'
;export
default
function
usewinsize()
)const onresize =
usecallback((
)=>)}
,)useeffect((
)=>},
)return size;
}// demo.js
import usewinsize from
'./usewinsize'
export
default
function()
x<
/div>
)}
延遲設定值
import react,
from
'react'
export
const
usedelaystate
=(initialstate)
=>
, delay)
}useeffect((
)=>},
)return
[state, delaysetstate, setstate]
}
geolocation獲取地理定位
import
from
'react'
;const
usegeolocation
= options =>);
let mounted =
true
;let watchid: any;
const
onevent
= event =>);
}};const
oneventerror
=(error)
=>
mounted &&
setstate
(oldstate =>()
);useeffect((
)=>;}
,);return state;};
export
default usegeolocation;
不一樣又不一樣的 木板接水
空地上豎立著n個從左到右排列的木板,它們可以把水擋住,但溢位最邊上木板的水將會流到空地上。已知木板間距都是單位1,現給定每個木板的高度,請求出總共能接住的水量?說明一點,這裡只考慮間距 寬度 和高度,不考慮第三個維度,因此水量是平方單位。木板高度分別是2,1,3,那麼我們可以接住2 2 4平方單位的...
我們不一樣
前輩們因自身實際的種種因素的影響而產生的認知,並不一定適用於我們自身。你可能從來不會去想乙個問題 你的觀點,來自 其實,它們絕大部分來自網路,它們或多或少地蠶食了你的判斷力。未來的路要怎麼走,沒有對與錯。有的,只是每乙個選擇所需要承擔的責任。我不想面臨,後之視今亦猶今之視昔的悲哀。我希望,未來回首,...
我們不一樣
這麼多年的兄弟 有誰比我更了解你 太多太多不容易 磨平了歲月和脾氣 時間轉眼就過去 這身後不散的筵席 只因為我們還在 心留在原地 張開手 需要多大的勇氣 這片天 你我一起撐起 更努力 只為了我們想要的明天 好好的 這份情好好珍惜 我們不一樣 每個人都有不同的境遇 我們在這裡 在這裡等你 我們不一樣 ...