React.js ~use() hook for Caching Problem~ The article explains that React's `use()` hook, which reads a promise, can cause an infinite re-render loop if the promise is created directly inside a Client Component, as a new promise is generated on every render. To stabilize the promise, the article recommends four approaches: creating the promise in a parent Server Component, using a module-level cache, employing a data fetching library like TanStack Query, or using React's built-in `cache()` function in Server Components. The key insight is that `use()` does not fetch data but reads a promise, which must have a stable identity across renders to avoid suspension loops. This is where most tutorials stop. But if you try to use use with a promise created inside a Client Component, you will hit a subtle and frustrating bug. // Bug: creates a new promise on every render function UserProfile { userId }: { userId: string } { const user = use fetchUser userId ; // new promise every render return