React hooks


useEffect

  1. 每当状态改变时,都要重新执行 useEffect 的逻辑:
  useEffect(() => {
    switchCount += 1
  })

注意不带第二个数组参数

  1. 即使每次状态都改变,也只执行第一次 useEffect 的逻辑:
useEffect(() => {
  switchCount += 1
}, [])

注意空数组

  1. 根据某个状态是否变化来决定要不要重新执行:
const [value, setValue] = useState('I never change')
useEffect(() => {
  switchCount += 1
}, [value])

同watch 注意数组里 监听哪几个 加哪几个

  1. 组件卸载时处理一些内存问题,比如清除定时器、清除事件监听:
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