React's shouldComponentUpdate hook seems to be a bit of after thought and a bit of relatively complex over engineering.
A comparison of mithril can see that React is almost 2 times as slow.
https://mithril.js.org/framework-comparison.html
The only reason to use React for SPA is the job market, and that companies like the fact that is backed by Facebook.