{"id":2496,"date":"2016-12-12T12:08:11","date_gmt":"2016-12-12T03:08:11","guid":{"rendered":"http:\/\/www.whoocus.com\/blog\/?p=2496"},"modified":"2016-12-12T14:44:40","modified_gmt":"2016-12-12T05:44:40","slug":"react-%e4%ba%8b%e5%a7%8b%e3%82%81","status":"publish","type":"post","link":"https:\/\/www.blowfish.co.jp\/?p=2496","title":{"rendered":"React \u4e8b\u59cb\u3081"},"content":{"rendered":"<p>JavaScript\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u3057\u3066\u3001Angular\u3092\u5229\u7528\u3057\u3066\u3044\u305f\u304c\u3001React\u3082\u6c17\u306b\u306a\u3063\u305f\u306e\u3067\u30b5\u30f3\u30d7\u30eb\u3002<br \/>\n\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u3001CDN\u3092\u4f7f\u7528\u3059\u308b\u304c\u3001\u4e0b\u8a18\u306e\u8a18\u8ff0\u3067\u52d5\u4f5c\u3059\u308b\u3002<\/p>\n<p>babel\u7b49\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u9055\u3044\u7b49\u306b\u3088\u3063\u3066\u52d5\u4f5c\u3057\u306a\u304f\u306a\u308b\u306e\u3067\u60a9\u307e\u3057\u3044\u3002<\/p>\n<p>[javascript]<br \/>\n&lt;!DOCTYPE html&gt;<br \/>\n&lt;html lang=&quot;ja&quot;&gt;<br \/>\n&lt;head&gt;<br \/>\n    &lt;meta charset=&quot;UTF-8&quot;&gt;<br \/>\n    &lt;script src=&quot;https:\/\/unpkg.com\/react@15\/dist\/react.min.js&quot;&gt;&lt;\/script&gt;<br \/>\n    &lt;script src=&quot;https:\/\/unpkg.com\/react-dom@15\/dist\/react-dom.min.js&quot;&gt;&lt;\/script&gt;<br \/>\n    &lt;script src=&quot;https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/babel-core\/5.8.38\/browser.min.js&quot;&gt;&lt;\/script&gt;<\/p>\n<p>    &lt;title&gt;React Sample&lt;\/title&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;div id=&quot;root&quot;&gt;<br \/>\n    &lt;!&#8211; This div&#8217;s content will be managed by React. &#8211;&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>&lt;script type=&quot;text\/babel&quot;&gt;<br \/>\n    ReactDOM.render(<br \/>\n            &lt;h1&gt;\u3053\u3093\u306b\u3061\u306f\u3002\u305f\u3062\u3055\u3093\u3002&lt;\/h1&gt;,<br \/>\n        document.getElementById(&#8216;root&#8217;)<br \/>\n    );<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<br \/>\n[\/javascript]<\/p>\n<p>JS\u30d5\u30a1\u30a4\u30eb\u3092\u5916\u51fa\u3057\u306b\u3059\u308b\u5834\u5408\u306f\u3001\u4e0b\u8a18\u306e\u69d8\u306b\u5909\u66f4\u3059\u308b\u3002<br \/>\n[javascript]<br \/>\n&lt;script type=&quot;text\/babel&quot; src=&quot;js\/common.js&quot;&gt;&lt;\/script&gt;<br \/>\n[\/javascript]<\/p>\n<p>\u307e\u305f\u3001\u81ea\u4f5c\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u8868\u793a\u3059\u308b\u3002<\/p>\n<p>[javascript]<br \/>\n\/\/\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0<br \/>\nvar MyDiv = React.createClass({<br \/>\n    displayName : &#8216;\u8868\u793a\u3055\u308c\u308b\u304b\u306a\uff1f&#8217;,<br \/>\n    render: function(){<br \/>\n        return (<br \/>\n            &lt;p&gt;\u308f\u305f\u3057\u306f\u3069\u3053\u3078\uff1f&lt;\/p&gt;<br \/>\n        );<br \/>\n    }<br \/>\n});<br \/>\nReactDOM.render(<br \/>\n    &lt;MyDiv&gt;&lt;\/MyDiv&gt;,<br \/>\n    document.getElementById(&#8216;mydiv&#8217;)<br \/>\n);<br \/>\n[\/javascript]<\/p>\n<p>HTML\u306e\u8a18\u8ff0\u306f\u4e0b\u8a18\u3002<br \/>\n[html]<br \/>\n&lt;div id=&quot;mydiv&quot;&gt;&lt;\/div&gt;<br \/>\n[\/html]<\/p>\n<p>\u6b21\u306b\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3078\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u6e21\u3057\u3066\u307f\u308b\u3002<br \/>\n[javascript]<\/p>\n<p>var MyDiv2 = React.createClass({<br \/>\n    displayName: &#8216;\u30d1\u30e9\u30e1\u30fc\u30bf\u6e21\u3057&#8217;,<br \/>\n    render: function () {<br \/>\n        return(<br \/>\n            &lt;p&gt;\u30d1\u30e9\u30e1\u30fc\u30bf\u306f&lt;span style={{color:&#8217;red&#8217;}}&gt;{this.props.param}&lt;\/span&gt;\u3067\u3059\u3002&lt;\/p&gt;<br \/>\n        );<br \/>\n    }<br \/>\n});<\/p>\n<p>ReactDOM.render(<br \/>\n    &lt;MyDiv2 param=&quot;\u5f15\u6570&quot;&gt;&lt;\/MyDiv2&gt;,<br \/>\n    document.getElementById(&#8216;mydiv2&#8217;)<br \/>\n);<\/p>\n<p>[\/javascript]<\/p>\n<p>HTML\u306e\u8a18\u8ff0\u306f\u4e0b\u8a18\u3002<br \/>\n[html]<br \/>\n&lt;div id=&quot;mydiv2&quot;&gt;&lt;\/div&gt;<br \/>\n[\/html]<\/p>\n<p><a href=\"https:\/\/www.blowfish.co.jp\/wp-content\/uploads\/2016\/12\/f9915dd1f465dca4c022e086a473a7311.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.blowfish.co.jp\/wp-content\/uploads\/2016\/12\/f9915dd1f465dca4c022e086a473a7311-300x128.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2016-12-12 13.13.11\" width=\"300\" height=\"128\" class=\"aligncenter size-medium wp-image-2503\" srcset=\"https:\/\/www.blowfish.co.jp\/wp-content\/uploads\/2016\/12\/f9915dd1f465dca4c022e086a473a7311-300x128.png 300w, https:\/\/www.blowfish.co.jp\/wp-content\/uploads\/2016\/12\/f9915dd1f465dca4c022e086a473a7311.png 367w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u7d9a\u3044\u3066\u3001\u30a4\u30d9\u30f3\u30c8\u3092\u767a\u751f\u3055\u305b\u3066\u307f\u308b\u3002<br \/>\n[javascript]<br \/>\nvar MyButton = React.createClass({<br \/>\n    displayName: &#8216;\u30a2\u30e9\u30fc\u30c8&#8217;,<br \/>\n    clickHandler: function () {<br \/>\n        alert(&#8216;\u30af\u30ea\u30c3\u30af\u3055\u308c\u307e\u3057\u305f\u3002&#8217;);<br \/>\n    },<br \/>\n    render: function () {<br \/>\n        return(<br \/>\n            &lt;input type=&quot;button&quot; value=&quot;\u30af\u30ea\u30c3\u30af&quot; onClick={this.clickHandler}\/&gt;<br \/>\n        );<br \/>\n    }<br \/>\n});<br \/>\nReactDOM.render(<br \/>\n    &lt;MyButton&gt;&lt;\/MyButton&gt;,<br \/>\n    document.getElementById(&#8216;mybtn&#8217;)<br \/>\n);<br \/>\n[\/javascript]<\/p>\n<p>HTML\u306e\u8a18\u8ff0\u306f\u4e0b\u8a18\u3002<br \/>\n[html]<br \/>\n&lt;div id=&quot;mybtn&quot;&gt;&lt;\/div&gt;<br \/>\n[\/html]<\/p>\n<p>\u3055\u3089\u306b\u3001SELCT\u30dc\u30c3\u30af\u30b9\u306e\u5024\u3092\u5909\u66f4\u3057\u305f\u5834\u5408\u306e\u6319\u52d5\u3092\u8a66\u3057\u3066\u307f\u308b\u3002<br \/>\n\u30df\u30bd\u306f\u3001getInitialState \u3068 this.setState \u3067\u3042\u308b\u3002<br \/>\n[javascript]<br \/>\nvar MySelect = React.createClass({<br \/>\n    selValue: &#8221;,<br \/>\n    displayName: &#8216;\u30bb\u30ec\u30af\u30bf&#8217;,<br \/>\n    \/\/State\u521d\u671f\u5316<br \/>\n    getInitialState: function () {<br \/>\n        return {val: &#8221;};<br \/>\n    },<br \/>\n    selectChangeHandler: function (event) {<br \/>\n        this.selValue = event.target.value;<br \/>\n        \/\/State\u66f4\u65b0<br \/>\n        this.setState({<br \/>\n            val: this.selValue<br \/>\n        });<br \/>\n    },<br \/>\n    render: function () {<br \/>\n        return(<br \/>\n            &lt;div&gt;<br \/>\n                &lt;div&gt;<br \/>\n                    &lt;select onChange={this.selectChangeHandler}&gt;<br \/>\n                        &lt;option value=&#8217;1&#8242;&gt;Java&lt;\/option&gt;<br \/>\n                        &lt;option value=&#8217;2&#8242;&gt;Ruby&lt;\/option&gt;<br \/>\n                        &lt;option value=&#8217;3&#8242;&gt;Python&lt;\/option&gt;<br \/>\n                        &lt;option value=&#8217;4&#8242;&gt;JavaScript&lt;\/option&gt;<br \/>\n                        &lt;option value=&#8217;5&#8242;&gt;C#&lt;\/option&gt;<br \/>\n                    &lt;\/select&gt;<br \/>\n                &lt;\/div&gt;<br \/>\n                &lt;p&gt;VALUE: {this.state.val}&lt;\/p&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n        );<br \/>\n    }<br \/>\n});<br \/>\nReactDOM.render(<br \/>\n    &lt;MySelect&gt;&lt;\/MySelect&gt;,<br \/>\n    document.getElementById(&#8216;myselect&#8217;)<br \/>\n);<br \/>\n[\/javascript]<\/p>\n<p>HTML\u306e\u8a18\u8ff0\u306f\u4e0b\u8a18\u3002<br \/>\n[html]<br \/>\n&lt;div id=&quot;myselect&quot;&gt;&lt;\/div&gt;<br \/>\n[\/html]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u3057\u3066\u3001Angular\u3092\u5229\u7528\u3057\u3066\u3044\u305f\u304c\u3001React\u3082\u6c17\u306b\u306a\u3063\u305f\u306e\u3067\u30b5\u30f3\u30d7\u30eb\u3002 \u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u3001CDN\u3092\u4f7f\u7528\u3059\u308b\u304c\u3001\u4e0b\u8a18\u306e\u8a18\u8ff0\u3067\u52d5\u4f5c\u3059\u308b\u3002 babel\u7b49\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u9055\u3044\u7b49\u306b\u3088\u3063\u3066\u52d5\u4f5c\u3057\u306a\u304f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[10,61,4],"tags":[],"class_list":["post-2496","post","type-post","status-publish","format-standard","hentry","category-javascript","category-react-js","category-tech"],"_links":{"self":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/2496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2496"}],"version-history":[{"count":10,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/2496\/revisions"}],"predecessor-version":[{"id":2508,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/2496\/revisions\/2508"}],"wp:attachment":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}