Submit Search
React入門-JSONを取得して表示する
7 likes
19,226 views
regret raym
ファンタラクティブ・オープンミーティング#11で使用した資料です。
Engineering
Read more
1 of 36
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
More Related Content
PDF
JURNAL PjBL KELAS KEWIRAUSAHAAN PPG DALJAB.pdf
florensyeweturu42
DOCX
Rpp viii semester 1 kd 2.2 [listening]
Widi Wookie
PDF
Buku Panduan Jurnal Ilmiah dalam Jaringan (Daring) IPB
Departemen Manajemen Sumberdaya Perairan, FPIK IPB
DOCX
Rencana pembelajaran kelas rangkap sardiana
Operator Warnet Vast Raha
DOCX
KKTP sandra.docx
marnilawati1
DOCX
Tugas rpp pkr 221 nila
Wiji Trangkil
PPTX
SPEC 101+ PRESENTATION (8).pptx
RizaMaeAzuelo
PDF
Pemanfaatan Kalkulator dalam Pembelajaran Matematika
NASuprawoto Sunardjo
JURNAL PjBL KELAS KEWIRAUSAHAAN PPG DALJAB.pdf
florensyeweturu42
Rpp viii semester 1 kd 2.2 [listening]
Widi Wookie
Buku Panduan Jurnal Ilmiah dalam Jaringan (Daring) IPB
Departemen Manajemen Sumberdaya Perairan, FPIK IPB
Rencana pembelajaran kelas rangkap sardiana
Operator Warnet Vast Raha
KKTP sandra.docx
marnilawati1
Tugas rpp pkr 221 nila
Wiji Trangkil
SPEC 101+ PRESENTATION (8).pptx
RizaMaeAzuelo
Pemanfaatan Kalkulator dalam Pembelajaran Matematika
NASuprawoto Sunardjo
What's hot
(20)
DOC
Week 5 Reflection Assignment
jnall
PPT
Comparison Of Esl And General Education Lesson Plan
Khmerboy
PPT
Integrazione di ontologie su un sistema a regole: un caso di studio
Maria Pia De Marzo
PPT
Independent reading
jenniferrwright
DOCX
Instrumen Rencana Evaluasi.docx
Insani Mahardika
DOC
lATIHAN SOAL. 3.doc
RajidElkukar
DOCX
Pengamatan pembelajaran lk 4.2
ISTAFIANI AMBARWATI
DOCX
RPP BIPA
Anisfauziasari
PPT
Assessment For Learning
Susan Kambalu
DOCX
Cover proposal ptk
Eselningss Eselningss
DOCX
Rpp Bahasa Inggris SMK kelas X teks Narative
Siti Purwaningsih
PPTX
Topik 3. Inovasi Pembelajaran Berbasis Teknologi.pptx
RetnoEnjelita1
PPTX
Power point ptk
yultaerma
PPTX
EKA SUTARMI-REFLEKSI PPL SIKLUS 2.pptx
eka sutarmi
PDF
2 ms scripts
Mr Bounab Samir
PDF
Teaching Practice Overview
Siniša Prvanov
PPTX
Teori Piaget, Ausubel, dan Brunner
Dimas Dwi Senggono S
PPTX
Scaffolding strategies to_use_with_your_students
ahmedabbas1121
PDF
Pembelajaran Menulis
NASuprawoto Sunardjo
DOCX
Laporan pkp pada mata pelajaran matematika
Operator Warnet Vast Raha
Week 5 Reflection Assignment
jnall
Comparison Of Esl And General Education Lesson Plan
Khmerboy
Integrazione di ontologie su un sistema a regole: un caso di studio
Maria Pia De Marzo
Independent reading
jenniferrwright
Instrumen Rencana Evaluasi.docx
Insani Mahardika
lATIHAN SOAL. 3.doc
RajidElkukar
Pengamatan pembelajaran lk 4.2
ISTAFIANI AMBARWATI
RPP BIPA
Anisfauziasari
Assessment For Learning
Susan Kambalu
Cover proposal ptk
Eselningss Eselningss
Rpp Bahasa Inggris SMK kelas X teks Narative
Siti Purwaningsih
Topik 3. Inovasi Pembelajaran Berbasis Teknologi.pptx
RetnoEnjelita1
Power point ptk
yultaerma
EKA SUTARMI-REFLEKSI PPL SIKLUS 2.pptx
eka sutarmi
2 ms scripts
Mr Bounab Samir
Teaching Practice Overview
Siniša Prvanov
Teori Piaget, Ausubel, dan Brunner
Dimas Dwi Senggono S
Scaffolding strategies to_use_with_your_students
ahmedabbas1121
Pembelajaran Menulis
NASuprawoto Sunardjo
Laporan pkp pada mata pelajaran matematika
Operator Warnet Vast Raha
Ad
Similar to React入門-JSONを取得して表示する
(20)
PDF
React.jsでクライアントサイドなWebアプリ入門
spring_raining
PDF
React entry
Nobuaki Miura
PPTX
今からでも遅くない! React事始め
ynaruta
PDF
React introduntion
YutaShimabukuro
PDF
React.js + Flux入門 #scripty02
Yahoo!デベロッパーネットワーク
PDF
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
PDF
フロントエンド開発入門(React).pdf
KSato2
PPTX
SYSTEMI勉強会まとめ資料(React基礎まとめ)
YoshikiWatanabe1
PPTX
Mithril - 軽量/高速なMVCフレームワーク
sairoutine
PDF
Intoroduction to React.js
Yuto Matsukubo
PDF
react勉強会 #4
KentaIwadate
PPTX
React入門
GIG inc.
PDF
React+TypeScriptもいいぞ
Mitsuru Ogawa
PPTX
Reactつかってみた
Minori Tokuda
PPTX
React+redux+saga 03
TIS Inc
PDF
Start React with Browserify
Muyuu Fujita
PPTX
Web開発初心者がReactをチームに導入して半年経った
kazuki matsumura
PDF
everevo × Open Graph
Tetsuwo OISHI
PDF
React+fluxを導入した話
Yuki Ishikawa
PPTX
React+redux+saga 01
TIS Inc
React.jsでクライアントサイドなWebアプリ入門
spring_raining
React entry
Nobuaki Miura
今からでも遅くない! React事始め
ynaruta
React introduntion
YutaShimabukuro
React.js + Flux入門 #scripty02
Yahoo!デベロッパーネットワーク
Reactとbabelで簡易タスク管理ツール作ってみた
Tsuyoshi Maeda
フロントエンド開発入門(React).pdf
KSato2
SYSTEMI勉強会まとめ資料(React基礎まとめ)
YoshikiWatanabe1
Mithril - 軽量/高速なMVCフレームワーク
sairoutine
Intoroduction to React.js
Yuto Matsukubo
react勉強会 #4
KentaIwadate
React入門
GIG inc.
React+TypeScriptもいいぞ
Mitsuru Ogawa
Reactつかってみた
Minori Tokuda
React+redux+saga 03
TIS Inc
Start React with Browserify
Muyuu Fujita
Web開発初心者がReactをチームに導入して半年経った
kazuki matsumura
everevo × Open Graph
Tetsuwo OISHI
React+fluxを導入した話
Yuki Ishikawa
React+redux+saga 01
TIS Inc
Ad
More from regret raym
(18)
PDF
SlackにHubotを設定して対話する
regret raym
PDF
CreateJSを使ったアニメーション表現の基礎
regret raym
PDF
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
regret raym
PDF
FluentdとGrothForecastをインストールする
regret raym
PDF
Chefで作る開発環境
regret raym
PDF
Dockerの導入
regret raym
PDF
Jenkinsの導入 vol.02 Bitbucketと連携する
regret raym
PDF
Jenkinsの導入 Vol.01
regret raym
PDF
MT東京 ぱくたそ/PAKUTASO
regret raym
PDF
今から始めるPhotoshopによるWeb制作-初期設定編
regret raym
PDF
Web制作のアレコレ
regret raym
PDF
Yurufuwa007
regret raym
PDF
WordPressで投稿記事情報の取得方法
regret raym
PDF
WordCamp Tokyo2012 handson Portfolio
regret raym
PDF
WordCamp Tokyo2012 Session
regret raym
PDF
Movable typeでモバイルギャラリーサイト
regret raym
PDF
Css拡張言語のコトハジメ
regret raym
PDF
Wp html5
regret raym
SlackにHubotを設定して対話する
regret raym
CreateJSを使ったアニメーション表現の基礎
regret raym
1年間で100万PV増やしたコンテンツ運用と最適化|写真素材サイトぱくたそ
regret raym
FluentdとGrothForecastをインストールする
regret raym
Chefで作る開発環境
regret raym
Dockerの導入
regret raym
Jenkinsの導入 vol.02 Bitbucketと連携する
regret raym
Jenkinsの導入 Vol.01
regret raym
MT東京 ぱくたそ/PAKUTASO
regret raym
今から始めるPhotoshopによるWeb制作-初期設定編
regret raym
Web制作のアレコレ
regret raym
Yurufuwa007
regret raym
WordPressで投稿記事情報の取得方法
regret raym
WordCamp Tokyo2012 handson Portfolio
regret raym
WordCamp Tokyo2012 Session
regret raym
Movable typeでモバイルギャラリーサイト
regret raym
Css拡張言語のコトハジメ
regret raym
Wp html5
regret raym
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