Skip to content

useReducer

useState 的替代方案。它接收一个形如 (state, action) => newState 的 reducer,并返回当前的 state 以及与其配套的 dispatch 方法

startTransition

利用startTransition这个方法来实现不紧急的任务操作,这会告诉 React 它们可以被中断执行。这样可以把紧急的任务先更新,不紧急的任务后更新。

useTransition

辅助使用startTransition
useTransition会得到一个表示过渡任务的等待状态,和一个启动该过渡任务的函数

useDeferredValue

startTransition的简化写法

传送门

createPortal

异步组件

React.lazy与React.Suspense

jsx
import React, { Suspense } from 'react'
import { useState } from 'react'
const Welcome = React.lazy(() => import('./components/Welcome'))
const Welcome2 = React.lazy(() => import('./components/Welcome2')) 
export default function App() {
  const [ show, setShow ] = useState(true)
  const handleClick = () => {
    setShow(false)
  }

  return (
    <div>
      <h2>hello lazy</h2>
      <button onClick={handleClick}>点击</button>
      <Suspense fallback={<div>loading...</div>}>
        {show ? <Welcome /> : <Welcome2 />}
      </Suspense>
    </div>
  )
}