Too Long; Didn't Read
The React Hooks docs has a FAQ entry: “How can I do data fetching with Hooks?” where they link to this well written and detailed article by Robin Wieruch. There is however a shortcoming in that approach which affects correctness is some important situations. Using useEffect() to sync the state to a prop is problematic. The browser may briefly display out of sync data to the user before it updates to ‘loading…’ But there is a bigger issue. Bad data is passed to child components, but will get fixed before the paint.