Below is the answer i get from ChatGPT. Is it right?

React’s logic of constantly trying to re-render comes from its internal rendering and error handling mechanisms. When a component throws a Promise (such as when Suspense is not wrapped in useSuspenseQuery), React does not recognize this situation and therefore treats it as an error. React tries to re-render the component to “fix” the error, but since there is no mechanism for handling Promise, the same Promise will be triggered every time it is rendered, thus entering an infinite loop. This is because the Suspense component catches and pauses rendering, causing React to render repeatedly