Because using raw elements is supposed to be the exception, not the rule... also `componentDidMount` and `componentDidUpdate` combined with refs is pretty straight forward[1].<p>I&#x27;m integrating PDF.js into a react app, and that has been anything but fun (still need to do more for performance concerns), but this is abnormal for react apps... More often than not, if you need to use refs a lot, and are doing a lot of DOM manipulation directly, odds are &quot;you&#x27;re doing it wrong&quot; ... I&#x27;m not saying there are never times, but there are usually better and less cumbersome patterns.<p>One of the things I really like about react+redux, it it&#x27;s closer to 95&#x2F;5 than 80&#x2F;20, and when you find yourself fighting the flow, usually the answer is to rethink the problem.<p><a href="https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;docs&#x2F;component-specs.html" rel="nofollow">https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;docs&#x2F;component-specs.html</a>