<body> <div id="root"></div> </body> <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script> <script type="text/babel"> ReactDOM.render( <h1>Hello world</h1>, document.getElementById('root') ); </script>
jsxはjsの拡張構文でタグを含められる
コンパイルすれば、babelは使用しなくて良い
<body> <div id="content"> </div> </body> <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script> <script type="text/babel"> class ComponentBox extends React.Component{ render(){ return ( <div className="ComponentBox"> Component Box </div> ); } }; ReactDOM.render( <ComponentBox/>, document.getElementById('content') ); </script> </html>
<script type="text/babel"> class Layout extends React.Component{ render(){ return ( <h1>welcome!</h1> ); } }; const app = document.getElementById('app'); ReactDOM.render( <Layout/>, app ); </script>
こういうこともできる
class Layout extends React.Component{ constructor(){ super(); this.name = "Hpscript"; } render(){ return ( <h1>It's {this.name}</h1> ); } };
なるほどー