Quite agree with @sandeep, but there a few more things I struggled with.
When loading data asynchronously, or when dealing with props changes, we'll typically need to hook into one of the Lifecycle methods to deal with it. Picking the right one is tricky, it's best to understand when each of these are called by putting lots of log messages in each of them, and trying out different things.
Although I used React-Router, I am not sure this is the best choice. I struggled with programmatically changing the route, had to read lots of example code to find out the right way to do this.
This is a tough decision. I decided not to use flux for my app, and it worked out OK. I am not sure I agree with most of the advice out there that recommends using Flux from day one.