React hooks
useEffect
- 每当状态改变时,都要重新执行 useEffect 的逻辑:
useEffect(() => {
switchCount += 1
})
注意不带第二个数组参数
- 即使每次状态都改变,也只执行第一次 useEffect 的逻辑:
useEffect(() => {
switchCount += 1
}, [])
注意空数组
- 根据某个状态是否变化来决定要不要重新执行:
const [value, setValue] = useState('I never change')
useEffect(() => {
switchCount += 1
}, [value])
同watch 注意数组里 监听哪几个 加哪几个
- 组件卸载时处理一些内存问题,比如清除定时器、清除事件监听:
useEffect(() => {
const handler = () => {
document.title = Math.random().toString()
}
window.addEventListener('resize', handler)
return () => {
// 外面加的内存,在这里移除
window.removeEventListener('resize', handler)
}
}, [])
组件卸载时,会执行 return
React的useContext的使用
Typescript+React hooks
https://juejin.cn/post/6844904085024407566