React documentation says:
Now that your component’s code loads on demand, you also need to specify what should be displayed while it is loading. You can do this by wrapping the lazy component or any of its parents into a boundary
“Need to”? Or “must to”?
If you try to use lazy without <Suspense/> it… It works. Wow. So, is it optional?
HELL NO! You must wrap your lazy components with <Suspense/>.
Why? Because such non-connected components can put React’s reconciliation engine into a semi-broken, hung state where behavior becomes unpredictable. It gets auto-healed only when the lazy promise is fulfilled.
So, if you don’t want to play hide & seek in a mine field — do it. Wrap it with <Suspense/> even if you don’t plan to render any fallback JSX.