I really puzzled why no one switched to hooks + suspense. I started to use suspense when it was alpha - you don't need any support for this from react itself: just catch promise in error boundary and display placeholder.
This makes everything is so easier:
const data = useQuery('/api/user/:id', {id:1}); return (<span>{data.name}</span>);
No error handling, not loaders, just one line.