Submit Search
Upload
React入門-JSONを取得して表示する
•
7 likes
•
19,206 views
regret raym
Follow
ファンタラクティブ・オープンミーティング#11で使用した資料です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 36
Download now
Download to read offline
Recommended
CodePipeline入門
CodePipeline入門
ryota koyama
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
ClassLoader Leak Patterns
ClassLoader Leak Patterns
nekop
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
Yuji Kubota
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話
m ishizaki
CloudHubのログバックアップについて
CloudHubのログバックアップについて
MuleSoft Meetup Tokyo
Metaspace
Metaspace
Yasumasa Suenaga
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
MuleSoft Meetup Tokyo
Recommended
CodePipeline入門
CodePipeline入門
ryota koyama
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
ClassLoader Leak Patterns
ClassLoader Leak Patterns
nekop
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
Yuji Kubota
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話
m ishizaki
CloudHubのログバックアップについて
CloudHubのログバックアップについて
MuleSoft Meetup Tokyo
Metaspace
Metaspace
Yasumasa Suenaga
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
MuleSoft Meetup Tokyo
ClickHouse導入事例紹介
ClickHouse導入事例紹介
Geniee, Inc. / 株式会社ジーニー
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Masatoshi Tada
はじめようLightningコンポーネント
はじめようLightningコンポーネント
Salesforce Developers Japan
JVM のいろはにほ #javajo
JVM のいろはにほ #javajo
Yuji Kubota
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Takahiro YAMADA
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
Hitoshi Ikemoto
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Kazuyuki Nakamura
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
Takashi Naito
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo!デベロッパーネットワーク
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
KLab Inc. / Tech
Java SE 再入門
Java SE 再入門
minazou67
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
Insight Technology, Inc.
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
今まで学び実践してきたこと
今まで学び実践してきたこと
Daisuke Yamazaki
PowerApps 初級ハンズオン(1時間弱でできます)
PowerApps 初級ハンズオン(1時間弱でできます)
Masaru Takahashi
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
taskie
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
Kazuhiro Hara
More Related Content
What's hot
ClickHouse導入事例紹介
ClickHouse導入事例紹介
Geniee, Inc. / 株式会社ジーニー
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Satoyuki Tsukano
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Masatoshi Tada
はじめようLightningコンポーネント
はじめようLightningコンポーネント
Salesforce Developers Japan
JVM のいろはにほ #javajo
JVM のいろはにほ #javajo
Yuji Kubota
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Takahiro YAMADA
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
Hitoshi Ikemoto
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Kazuyuki Nakamura
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
Takashi Naito
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo!デベロッパーネットワーク
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
KLab Inc. / Tech
Java SE 再入門
Java SE 再入門
minazou67
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
Insight Technology, Inc.
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
今まで学び実践してきたこと
今まで学び実践してきたこと
Daisuke Yamazaki
PowerApps 初級ハンズオン(1時間弱でできます)
PowerApps 初級ハンズオン(1時間弱でできます)
Masaru Takahashi
What's hot
(20)
ClickHouse導入事例紹介
ClickHouse導入事例紹介
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
はじめようLightningコンポーネント
はじめようLightningコンポーネント
JVM のいろはにほ #javajo
JVM のいろはにほ #javajo
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
SAP on Azure インフラ設計解説:HA/DR、Backupからパフォーマンス最適化まで
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
OpenvSwitchの落とし穴
OpenvSwitchの落とし穴
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo! ニュースにおけるドキュメント管理の事例紹介
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Java 17直前!オレ流OpenJDK「の」開発環境(Open Source Conference 2021 Online/Kyoto 発表資料)
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
Java SE 再入門
Java SE 再入門
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
20170518_今さら聞けないHANAのハナシの基本のき by SAPジャパン株式会社 新久保浩二
Native Memory Tracking
Native Memory Tracking
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
今まで学び実践してきたこと
今まで学び実践してきたこと
PowerApps 初級ハンズオン(1時間弱でできます)
PowerApps 初級ハンズオン(1時間弱でできます)
Similar to React入門-JSONを取得して表示する
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
taskie
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
Kazuhiro Hara
Async awaitでの繰り返し処理についての小話
Async awaitでの繰り返し処理についての小話
Masakazu Muraoka
React Native GUIDE
React Native GUIDE
dcubeio
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
Ryosuke Hara
REACT & WEB API
REACT & WEB API
Shigeru Kondoh
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
Kazuhiro Hara
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
Create android app can send SMS and Email by React Natice
Create android app can send SMS and Email by React Natice
GMO-Z.com Vietnam Lab Center
IntelliJ IDEAとKotlinで作るSpring 5アプリケーション
IntelliJ IDEAとKotlinで作るSpring 5アプリケーション
CASAREAL, Inc.
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
Alfresco CI
Alfresco CI
Ashitaba YOSHIOKA
Rx java x retrofit
Rx java x retrofit
Shun Nakahara
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
minoru nakanou
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
Fumiya Sakai
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
Oda Shinsuke
Ltctjs
Ltctjs
Hisashi Aruji
React入門
React入門
GIG inc.
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
暁 三宅
Similar to React入門-JSONを取得して表示する
(20)
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
Async awaitでの繰り返し処理についての小話
Async awaitでの繰り返し処理についての小話
React Native GUIDE
React Native GUIDE
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
REACT & WEB API
REACT & WEB API
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Create android app can send SMS and Email by React Natice
Create android app can send SMS and Email by React Natice
IntelliJ IDEAとKotlinで作るSpring 5アプリケーション
IntelliJ IDEAとKotlinで作るSpring 5アプリケーション
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Alfresco CI
Alfresco CI
Rx java x retrofit
Rx java x retrofit
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
Ltctjs
Ltctjs
React入門
React入門
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
More from regret raym
SlackにHubotを設定して対話する
SlackにHubotを設定して対話する
regret raym
CreateJSを使ったアニメーション表現の基礎
CreateJSを使ったアニメーション表現の基礎
regret raym
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
regret raym
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールする
regret raym
Chefで作る開発環境
Chefで作る開発環境
regret raym
Dockerの導入
Dockerの導入
regret raym
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
regret raym
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
regret raym
MT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASO
regret raym
今から始めるPhotoshopによるWeb制作-初期設定編
今から始めるPhotoshopによるWeb制作-初期設定編
regret raym
Web制作のアレコレ
Web制作のアレコレ
regret raym
Yurufuwa007
Yurufuwa007
regret raym
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
regret raym
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 handson Portfolio
regret raym
WordCamp Tokyo2012 Session
WordCamp Tokyo2012 Session
regret raym
Movable typeでモバイルギャラリーサイト
Movable typeでモバイルギャラリーサイト
regret raym
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
regret raym
Wp html5
Wp html5
regret raym
More from regret raym
(18)
SlackにHubotを設定して対話する
SlackにHubotを設定して対話する
CreateJSを使ったアニメーション表現の基礎
CreateJSを使ったアニメーション表現の基礎
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールする
Chefで作る開発環境
Chefで作る開発環境
Dockerの導入
Dockerの導入
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 vol.02 Bitbucketと連携する
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
MT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASO
今から始めるPhotoshopによるWeb制作-初期設定編
今から始めるPhotoshopによるWeb制作-初期設定編
Web制作のアレコレ
Web制作のアレコレ
Yurufuwa007
Yurufuwa007
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 handson Portfolio
WordCamp Tokyo2012 Session
WordCamp Tokyo2012 Session
Movable typeでモバイルギャラリーサイト
Movable typeでモバイルギャラリーサイト
Css拡張言語のコトハジメ
Css拡張言語のコトハジメ
Wp html5
Wp html5
React入門-JSONを取得して表示する
1.
ReactでJSONを受け取って表示する FUNTERACTIVE OPEN MEETING
VOL.11
2.
OPEN MEETING VOL.11 twitter@regret_raym studying…Chef
/ Fluentd / CreateJS ファンタラクティブ株式会社 取締役,デザイナー 写真素材サイト ぱくたそ テクニカル・ディレクター 塚口 祐司
3.
OPEN MEETING VOL.11
4.
OPEN MEETING VOL.11 React ‣
Facebookが開発したUI構築のためのJavaScript ‣ MVCのView ‣ Virtual DOM ‣ JSXというXMLのようなSyntax https://facebook.github.io/react/
5.
Hellow World http://facebook.github.io/react/docs/getting-started.html
6.
OPEN MEETING VOL.11 Starter
Kit ./ ├── README.md ├── build │ ├── JSXTransformer.js │ ├── react-with-addons.js │ ├── react-with-addons.min.js │ ├── react.js │ └── react.min.js ├── src │ ├── helloworld.js ├── helloworld.html └── examples ※NEW
7.
OPEN MEETING VOL.11 helloworld.html <!DOCTYPE
html> <html> <head> <script src="build/react.js"></script> <script src="build/JSXTransformer.js"></script> <script type="text/jsx" src="src/helloworld.js"></script> </head> <body> <div id="example"></div> </body> </html> コア 変換 script 描画先 LESSっぽい
8.
OPEN MEETING VOL.11 helloworld.js React.render( <h1>Hellow,
world!</h1> document.getElementById('example') );
9.
OPEN MEETING VOL.11
10.
JSX
11.
OPEN MEETING VOL.11 JSX var
Hellow = React.createClass({ render: function() { return ( <div className="hellow"> <h1>Hello, {this.props.name}</h1> </div> ); } }); React.render( <Hellow name="world!" />, document.getElementById('example') ); ‣ 一見HTMLに見えるXML クなsyntax ‣ JSX→JavaScript イルすることで実行できる
12.
OPEN MEETING VOL.11 ‣
オンラインで変換する ‣ JSXTransformer ‣ オフラインで変換する ‣ react-tools ‣ browserify / webpack ‣ reactify / jsx-loader JSX $ npm install -g react-tools $ jsx --watch src/ build/
13.
Component
14.
OPEN MEETING VOL.11 HellowをComponent var
Hellow = React.createClass({ render: function() { return ( <div className="hellow"> <h1>Hello, {this.props.name}</h1> </div> ); } }); React.render( <Hellow name="world!" />, document.getElementById('example') );
15.
OPEN MEETING VOL.11 React.createClass var
Hellow = React.createClass({ render: function() { return ( <div className="hellow"> <h1>Hello, {this.props.name}</h1> </div> ); } }); ‣ React.createClassにrender メソッドをもったオブジェク トを渡すことでコンポーネン トが作成できる
16.
OPEN MEETING VOL.11 return var
Hellow = React.createClass({ render: function() { return ( <div className="hellow"> <h1>Hello, {this.props.name}</h1> </div> <div>description</div> ); } }); ‣ Return
17.
Component
18.
OPEN MEETING VOL.11 Prop var
Hellow = React.createClass({ render: function() { return ( <div className="hellow"> <h1>Hello, {this.props.name}</h1> </div> ); } }); React.render( <Hellow name="world!" />, document.getElementById('example') ); ‣ HTMLのattribute ロパティ値を設定でき、それ を参照することができる。 ‣ 親→子への一方通行
19.
OPEN MEETING VOL.11 State var
Counter = React.createClass({ getInitialState() { return { count: 0 }; }, onClick() { this.setState({count: this.state.count + 1}); }, render() { return ( <div> <div>count:{this.state.count}</div> <button onClick={this.onClick}>click!</button> </div> ); } }); ‣ 動的に値が変化するような場 合はStateを使 ‣ this.state.XXXXで参照、 this.setState
20.
JSON
21.
OPEN MEETING VOL.11 メンバーリストを表示する MemberBox MemberList Member JSON
22.
OPEN MEETING VOL.11 JSON var
data = [ {id: 1, author: "井村圭介"}, {id: 2, author: "塚口祐司"} ];
23.
OPEN MEETING VOL.11 Render React.render( <MemberBox
data={data} />, document.getElementById('example') ); MemberBoxにjson値を設定
24.
OPEN MEETING VOL.11 MemberBox var
MemberBox = React.createClass({ getInitialState: function() { return({ count: this.props.data }); }, render: function() { return ( <div className="memberBox"> <h1>Member</h1> <p>{this.state.count.length} persons</p> <MemberList data={this.props.data} /> </div> ); } }); MemberListに値を渡す
25.
OPEN MEETING VOL.11 MemberList var
MemberList = React.createClass({ render: function() { var memberNodes = this.props.data.map(function (member) { return ( <Member author={member.author}></Member> ); }); return ( <div className="memberList"> {memberNodes} </div> ); } }); JSON値をMemberComponentに設定
26.
OPEN MEETING VOL.11 MemberBox var
Member = React.createClass({ render: function() { return ( <div className="member"> <h2 className="memberAuthor"> {this.props.author} </h2> </div> ) } }); 渡された値を表示
27.
OPEN MEETING VOL.11
28.
外部API
29.
OPEN MEETING VOL.11
30.
OPEN MEETING VOL.11
31.
OPEN MEETING VOL.11 Render React.render( <MemberBox
url="https://www.kimonolabs.com/api/7tthqscc? apikey=fnR8ogc0OeVcgxjrmb9GUiKxrAN5FcxL" />, document.getElementById('example') );
32.
OPEN MEETING VOL.11 MemberBox var
MemberBox = React.createClass({ getInitialState: function() { return {data: []}; }, ~~~~ 初期化
33.
OPEN MEETING VOL.11 MemberBox ~~~~ loadAjax:
function() { $.ajax({ url: this.props.url, dataType: 'jsonp', success: function(data) { this.setState({data: data.results.collection1}); }.bind(this), error: function(xhr, status, err) { console.error(this.props.url, status, err.toString()); }.bind(this) }); }, ~~~~
34.
OPEN MEETING VOL.11 MemberBox componentDidMount:
function() { this.loadAjax(); }, ComponentがDOMツリーに追加 された状態で呼ばれるのでDOMに 関わる初期化処理を行いたい時
35.
OPEN MEETING VOL.11
36.
OPEN MEETING VOL.11 ご清聴ありがとうございました
Download now