componentDidMount is the right place to call for an API.
if you are interested in server-side rendering would recommend this post https://blog.tableflip.io/server-side-rendering-with-react-a...
yes we use redux and strongly follows its design pattern.