0% found this document useful (0 votes)
4 views

startTransition – React

The startTransition function in React allows developers to mark state updates as non-blocking transitions, enabling smoother UI updates during re-renders. It is used by wrapping state updates in a startTransition call, which keeps the interface responsive even on slow devices. However, it does not track the status of ongoing transitions and has limitations regarding async calls and state updates during transitions.

Uploaded by

dungeon.dad87
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

startTransition – React

The startTransition function in React allows developers to mark state updates as non-blocking transitions, enabling smoother UI updates during re-renders. It is used by wrapping state updates in a startTransition call, which keeps the interface responsive even on slow devices. However, it does not track the status of ongoing transitions and has limitations regarding async calls and state updates during transitions.

Uploaded by

dungeon.dad87
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

20/02/2025, 09:20 startTransition – React

v19

API REFERENCE APIS

startTransition
startTransition lets you render a part of the UI in the
background.

startTransition(action)

Reference

startTransition(action)

Usage

Marking a state update as a non-blocking Transition

Reference

startTransition(action)

The startTransition function lets you mark a state update as a Transition.

import { startTransition } from 'react';

function TabContainer() {
const [tab, setTab] = useState('about');

function selectTab(nextTab) {
startTransition(() => {
setTab(nextTab);
});
}
// ...
https://react.dev/reference/react/startTransition 1/5
20/02/2025, 09:20 startTransition – React

See more examples below.

Parameters

action : A function that updates some state by calling one or more set
functions. React calls action immediately with no parameters and marks
all state updates scheduled synchronously during the action function
call as Transitions. Any async calls awaited in the action will be included
in the transition, but currently require wrapping any set functions after
the await in an additional startTransition (see Troubleshooting). State
updates marked as Transitions will be non-blocking and will not display
unwanted loading indicators..

Returns

startTransition does not return anything.

Caveats

startTransition does not provide a way to track whether a Transition is


pending. To show a pending indicator while the Transition is ongoing, you
need useTransition instead.

You can wrap an update into a Transition only if you have access to the
set function of that state. If you want to start a Transition in response to
some prop or a custom Hook return value, try useDeferredValue instead.

The function you pass to startTransition is called immediately, marking


all state updates that happen while it executes as Transitions. If you try to
perform state updates in a setTimeout , for example, they won’t be
marked as Transitions.

You must wrap any state updates after any async requests in another
startTransition to mark them as Transitions. This is a known limitation
that we will fix in the future (see Troubleshooting).

A state update marked as a Transition will be interrupted by other state


updates. For example, if you update a chart component inside a

https://react.dev/reference/react/startTransition 2/5
20/02/2025, 09:20 startTransition – React

Transition, but then start typing into an input while the chart is in the
middle of a re-render, React will restart the rendering work on the chart
component after handling the input state update.

Transition updates can’t be used to control text inputs.

If there are multiple ongoing Transitions, React currently batches them


together. This is a limitation that may be removed in a future release.

Usage

Marking a state update as a non-blocking Transition

You can mark a state update as a Transition by wrapping it in a


startTransition call:

import { startTransition } from 'react';

function TabContainer() {
const [tab, setTab] = useState('about');

function selectTab(nextTab) {
startTransition(() => {
setTab(nextTab);
});
}
// ...
}

Transitions let you keep the user interface updates responsive even on slow
devices.

With a Transition, your UI stays responsive in the middle of a re-render. For


example, if the user clicks a tab but then change their mind and click another
tab, they can do that without waiting for the first re-render to finish.

https://react.dev/reference/react/startTransition 3/5
20/02/2025, 09:20 startTransition – React

Note

startTransition is very similar to useTransition , except that it

does not provide the isPending flag to track whether a Transition is


ongoing. You can call startTransition when useTransition is not
available. For example, startTransition works outside
components, such as from a data library.

Learn about Transitions and see examples on the useTransition


page.

PREVIOUS

memo

NEXT

use

Copyright © Meta Platforms, Inc

uwu?

Learn React API Reference

Quick Start React APIs

Installation React DOM APIs

Describing the UI

Adding Interactivity

https://react.dev/reference/react/startTransition 4/5
20/02/2025, 09:20 startTransition – React

Managing State

Escape Hatches

Community More

Code of Conduct Blog

Meet the Team React Native

Docs Contributors Privacy

Acknowledgements Terms

https://react.dev/reference/react/startTransition 5/5

You might also like