Rationalize how components handle loading state

- Introduce `data` and `fetchingData` props pattern for React components
- Add explanation in README