next.js/test/e2e/app-dir/transition-indicator/app/page.tsx
page.tsx27 lines523 B
'use client'

import { startTransition, useReducer } from 'react'

function sleep(ms: number) {
  return new Promise((resolve) => setTimeout(resolve, ms))
}

export default function Page() {
  const [counter, increment] = useReducer((n) => n + 1, 0)

  function handleClick() {
    startTransition(async () => {
      await sleep(1000)
      startTransition(() => {
        increment()
      })
    })
  }
  return (
    <>
      <p>Count: {counter}</p>
      <button onClick={handleClick}>Increment</button>
    </>
  )
}
Quest for Codev2.0.0
/
SIGN IN