https://facebook.github.io/react/downloads.html (the note under npm section)
https://github.com/facebook/react/issues/1772
http://stackoverflow.com/questions/22118915/how-to-turn-on-o...
The same shouldComponentUpdate optimization could be added to both Calendar and Day, but in this case clicking a Day would always require the Calendar to re-render, and running through 365 shouldComponentUpdate functions (returning false from at least 363 of them) without first limiting by Month would not be ideal.
If the state is managed with ImmutableJS or a similar library, shouldComponentUpdate would only have to do a single reference equality check. Either way you should see a big improvement from any implementation that allows the individual Month components to skip rendering:
http://facebook.github.io/react/docs/advanced-performance.ht...
With the main bottleneck being here: https://github.com/BelkaLab/react-yearly-calendar/blob/maste...
Implementing a good shouldComponentUpdate() should fix it.