TLDR Tech / Dev
use(): The Hook That Breaks the Rules (On Purpose) (17 minute read)
React 19's use() hook eliminates useEffect and useState boilerplate by unwrapping a promise at render time and delegating loading/error states to Suspense and ErrorBoundary. One requirement is that the promise read by use() must have a stable identity across renders. Otherwise, creating a new promise will cause an infinite suspension loop.
Read the full story