You don&#x27;t have to, you can work with React straight from vanilla JavaScript though. I don&#x27;t know anyone who does it though (except in tests), because it&#x27;s nearly not as pleasant to work with as JSX.<p>It is possible to separate JSX elements from the rest of your code if you use ES6 React components or functional components (that is, you don&#x27;t use React.createClass), because in those cases there is no need to compile the components themselves, so in theory you could separate the &quot;HTML&quot; bits into separate, dedicated files. It&#x27;s not really a problem I&#x27;ve faced so far, but might end up doing in the future.