I have to admit I find the author&#x27;s insistence on defining a component as a function to be a big red herring.  Instead, it  feels like the presence of JSX outside of the component&#x27;s render() method is the (potential) code smell.<p>It doesn&#x27;t help that several popular React &amp; React Native tutorials out there, for understandable simplicity, opt to use &quot;renderSubThing&quot; methods.  In the examples and in my own code so far, I mostly find those sub-render methods to be a proxy for &quot;I don&#x27;t want to break stride to make a new component, so I&#x27;ll jam this stuff in a method and refactor later.&quot;  That&#x27;s great, so long as the refactor actually happens.<p>(Hm, that&#x27;d be a great candidate for a vim refactoring plugin...)