ブラウザだけで動作するReactのサンプル
サンプル
以下のドキュメントの サンプル を参考に作成したサンプル
Reactをブラウザだけで動作させるサンプルは、このページになります。 また、このソースは以下になります。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>React test</title> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <!-- Don't use this in production: --> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> </head> <body> <div id="app"></div> <div id="basic-event"></div> <div id="event-with-method"></div> <div id="multiple-event"></div> <script type="text/babel"> ReactDOM.render( <h1>Reactのテスト</h1>, document.getElementById('app') ); const Button1 = function() { const [ counter, setCounter ] = React.useState(0); return ( <> <button onClick={() => setCounter(counter + 1)} >ボタン1</button> <p>ボタン1のクリック数 {counter} 回</p> </> ); } ReactDOM.render( <Button1 />, document.getElementById('basic-event') ); const Button2 = function() { const handleClick = (event) => { alert('Hello ' + '!') if (event) { alert(event.target.tagName) } } return ( <> <button onClick={handleClick} >ボタン2</button> <br /><br /> </> ) } ReactDOM.render( <Button2 />, document.getElementById('event-with-method') ); const Button3 = function() { const [ counter, setCounter ] = React.useState(0); const [ sum, setSum ] = React.useState(0); const one = () => { setCounter(counter + 1); } const two = () => { setSum(sum + 3); } const handleClick = () => { one(); two(); } return ( <> <button onClick={handleClick} >ボタン3 (+3)</button> <p>ボタン3のクリック数 { counter } 回。 合計は { sum }</p> </> ); } ReactDOM.render( <Button3 />, document.getElementById('multiple-event') ); </script> </body> </html>
Vue 3 で同じ機能を実装したサンプルは、以下になります。