I *really* don't like the extremely common pattern in React apps of propagating null/undefined values throughout all your components while data is still loading (or missing).
The reality is much worse than this, but a contrived example:
It's even worse when the codebase isn't extremely type safe and strict about that.
I'm not saying I would _never_ do this, I just see this done to an extent that makes me sad.
Eventually you end up with countless hooks and components with tons of props that are always just `X | null | undefined` and it becomes very hard to keep track of when nulls or undefineds are because data is loading, missing, or some other bug.
GraphQL makes this 10x worse because the default for schemas is to have fields be nullable, and even worse the default for *array elements* is nullable too! So you get schema like `items: [Item]` and whoops now the field might be null but also it might be an array of null items.
Don't get me started on data?.foo?.bar ?? null
• • •
Missing some Tweet in this thread? You can try to
force a refresh