Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Naoyuki Kataoka
PDF, PPTX
65,852 views
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
Technology
◦
Read more
20
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 86
2
/ 86
3
/ 86
4
/ 86
5
/ 86
6
/ 86
7
/ 86
8
/ 86
9
/ 86
10
/ 86
11
/ 86
12
/ 86
13
/ 86
14
/ 86
15
/ 86
16
/ 86
17
/ 86
18
/ 86
19
/ 86
20
/ 86
21
/ 86
22
/ 86
23
/ 86
24
/ 86
25
/ 86
26
/ 86
27
/ 86
28
/ 86
29
/ 86
30
/ 86
31
/ 86
32
/ 86
33
/ 86
34
/ 86
35
/ 86
36
/ 86
37
/ 86
38
/ 86
39
/ 86
40
/ 86
41
/ 86
42
/ 86
43
/ 86
44
/ 86
45
/ 86
46
/ 86
47
/ 86
48
/ 86
49
/ 86
50
/ 86
51
/ 86
52
/ 86
53
/ 86
54
/ 86
55
/ 86
56
/ 86
57
/ 86
58
/ 86
59
/ 86
60
/ 86
61
/ 86
62
/ 86
63
/ 86
64
/ 86
65
/ 86
66
/ 86
67
/ 86
68
/ 86
69
/ 86
70
/ 86
71
/ 86
72
/ 86
73
/ 86
74
/ 86
75
/ 86
76
/ 86
77
/ 86
78
/ 86
79
/ 86
80
/ 86
81
/ 86
82
/ 86
83
/ 86
84
/ 86
85
/ 86
86
/ 86
More Related Content
PDF
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
PPTX
React.js + Reduxで作るSPA
by
Shohei Saeki
PDF
Flux react現状確認会
by
VOYAGE GROUP
PDF
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
PDF
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
PPTX
React を導入したフロントエンド開発
by
daisuke-a-matsui
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
PDF
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
by
Yusuke Murata
React.js + Reduxで作るSPA
by
Shohei Saeki
Flux react現状確認会
by
VOYAGE GROUP
RailsでReact.jsを動かしてみた話
by
yoshioka_cb
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
React を導入したフロントエンド開発
by
daisuke-a-matsui
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
まだ DOM 操作で消耗してるの?
by
Yuki Ishikawa
What's hot
PPTX
React NativeでTwitterクライアントを作ってみよう
by
dcubeio
PDF
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
by
Kohei Asai
PDF
React.js + Flux
by
dsuke Takaoka
PDF
イマドキのフロントエンドエンジニアの道具箱
by
Fumio SAGAWA
PPTX
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
PDF
jQueryを中心としたJavaScript
by
hideaki honda
PPTX
今からでも遅くない! React事始め
by
ynaruta
PDF
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
PDF
2016/05/01 Visual Studio with Cordova
by
miso- soup3
PPTX
Angular js はまりどころ
by
Ayumi Goto
PDF
React Native 入門
by
Seiichi Okumiya
PDF
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
PDF
S14 t3 yosuke_yamashita
by
Takeshi Akutsu
PDF
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
PDF
React+fluxを導入した話
by
Yuki Ishikawa
PDF
( ゚∀゚)o彡° Flux! Flux!
by
Yuki Ishikawa
PDF
angular X designer - デザイナからみたAngularJS #ten1club
by
silvers ofsilvers
PDF
Enterprise x AngularJS
by
Kenichi Kanai
PDF
gulp芸
by
Yuki Ishikawa
PDF
サーバを運用する時代は終わった
by
Yuki Ishikawa
React NativeでTwitterクライアントを作ってみよう
by
dcubeio
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
by
Kohei Asai
React.js + Flux
by
dsuke Takaoka
イマドキのフロントエンドエンジニアの道具箱
by
Fumio SAGAWA
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
jQueryを中心としたJavaScript
by
hideaki honda
今からでも遅くない! React事始め
by
ynaruta
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
2016/05/01 Visual Studio with Cordova
by
miso- soup3
Angular js はまりどころ
by
Ayumi Goto
React Native 入門
by
Seiichi Okumiya
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
S14 t3 yosuke_yamashita
by
Takeshi Akutsu
React Redux Redux-Saga + サーバサイドレンダリング
by
エンジニア勉強会 エスキュービズム
React+fluxを導入した話
by
Yuki Ishikawa
( ゚∀゚)o彡° Flux! Flux!
by
Yuki Ishikawa
angular X designer - デザイナからみたAngularJS #ten1club
by
silvers ofsilvers
Enterprise x AngularJS
by
Kenichi Kanai
gulp芸
by
Yuki Ishikawa
サーバを運用する時代は終わった
by
Yuki Ishikawa
Similar to SIROK技術勉強会 #1 「Reactってなんだ?」
PDF
Webアプリ開発入門_たくてぃん道場 React bootcamp by CraftStadium
by
CraftStaidium
PPTX
React way at_eight
by
Hideharu Okuma
PDF
フロントエンド開発入門(React).pdf
by
KSato2
PPTX
Reactつかってみた
by
Minori Tokuda
PPTX
React入門
by
GIG inc.
PDF
raect.jsを触ったお話
by
Ryuuichi Iha
PPTX
Reactに触れてみた
by
iPride Co., Ltd.
PDF
Intoroduction to React.js
by
Yuto Matsukubo
PDF
Start React with Browserify
by
Muyuu Fujita
PDF
Om Next ~React.jsを超えて
by
Kazuki Tsutsumi
PPTX
The First React on Rails
by
Kohei Ito
PPTX
React + Reduxで作る対話AI
by
Kentaro Tada
PDF
React vtecx20171025
by
Shinichiro Takezaki
PPTX
Hello, React!! まで導く Reactの基礎
by
iPride Co., Ltd.
PDF
React introduntion
by
YutaShimabukuro
PPTX
Reactjs
by
しくみ製作所
PDF
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
PPTX
まだDOM操作で消耗してるの?
by
IRI MO
PPTX
SYSTEMI勉強会まとめ資料(React基礎まとめ)
by
YoshikiWatanabe1
PDF
React entry
by
Nobuaki Miura
Webアプリ開発入門_たくてぃん道場 React bootcamp by CraftStadium
by
CraftStaidium
React way at_eight
by
Hideharu Okuma
フロントエンド開発入門(React).pdf
by
KSato2
Reactつかってみた
by
Minori Tokuda
React入門
by
GIG inc.
raect.jsを触ったお話
by
Ryuuichi Iha
Reactに触れてみた
by
iPride Co., Ltd.
Intoroduction to React.js
by
Yuto Matsukubo
Start React with Browserify
by
Muyuu Fujita
Om Next ~React.jsを超えて
by
Kazuki Tsutsumi
The First React on Rails
by
Kohei Ito
React + Reduxで作る対話AI
by
Kentaro Tada
React vtecx20171025
by
Shinichiro Takezaki
Hello, React!! まで導く Reactの基礎
by
iPride Co., Ltd.
React introduntion
by
YutaShimabukuro
Reactjs
by
しくみ製作所
React.js + Flux入門 #scripty02
by
Yahoo!デベロッパーネットワーク
まだDOM操作で消耗してるの?
by
IRI MO
SYSTEMI勉強会まとめ資料(React基礎まとめ)
by
YoshikiWatanabe1
React entry
by
Nobuaki Miura
More from Naoyuki Kataoka
PDF
シロク流事業の立ち上げ方の成功と失敗
by
Naoyuki Kataoka
PDF
Objective-CのBlocksの循環参照に関する僕なりのベストプラクティス
by
Naoyuki Kataoka
PDF
成長する組織を支えるシロクの自動化
by
Naoyuki Kataoka
PDF
レンタルサーバで今すぐ始めるWEB開発
by
Naoyuki Kataoka
PDF
スマホアプリの収益のモデリング
by
Naoyuki Kataoka
PDF
Web若手エンジニアの会(仮)
by
Naoyuki Kataoka
PDF
Facebook Night vol. 6
by
Naoyuki Kataoka
PDF
Lightning-fastなライトニングトーク
by
Naoyuki Kataoka
シロク流事業の立ち上げ方の成功と失敗
by
Naoyuki Kataoka
Objective-CのBlocksの循環参照に関する僕なりのベストプラクティス
by
Naoyuki Kataoka
成長する組織を支えるシロクの自動化
by
Naoyuki Kataoka
レンタルサーバで今すぐ始めるWEB開発
by
Naoyuki Kataoka
スマホアプリの収益のモデリング
by
Naoyuki Kataoka
Web若手エンジニアの会(仮)
by
Naoyuki Kataoka
Facebook Night vol. 6
by
Naoyuki Kataoka
Lightning-fastなライトニングトーク
by
Naoyuki Kataoka
Recently uploaded
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
PPTX
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
SIROK技術勉強会 #1 「Reactってなんだ?」
2.
Reactってなんだ?
4.
JavaScriptで UIを作るためのライブラリ
5.
SIROKのUI構築の変遷
6.
My365: PHP テンプレートエンジンとして使う
7.
ピプル Apache Velocity サーバサイド処理
8.
Growth Push Backbone +
Handlebars 本格的にJSでUI実装
9.
Growth Point TypeScript +
Backbone + Handlebars 生のJSつらくなってきた
10.
Growthbeat TypeScript + Backbone
+ Underscore template ロジックレスつらい
11.
新規プロジェクト TypeScript + React?
12.
Reactとは?
13.
JavaScriptで UIを作るためのライブラリ
14.
MVCのViewの部分のみを担当 基本的にそれ以外には関わらない
15.
高速な描画処理 Virtual DOMという概念
16.
ビュー操作の難しさ
17.
DOM操作は遅い。 想像しているよりもずっと。
18.
大抵は、こういうことがしたい。 データ (JS Object) ビュー (HTML)
19.
サーバから取得したり、ユーザー が変更してデータが変化。 データ (JS Object) ビュー (HTML) 更新
20.
データの更新に合わせてビューも 更新する必要がある。 データ (JS Object) ビュー (HTML) 更新
21.
1. まるごと書き換えるパターン 2. 差分更新するパターン
22.
まるごと書き換えるパターン データが少しでも変化したら、 HTMLを全部まるごと書き換える。 データ (JS Object) ビュー (HTML) テンプレートで全更新
23.
DOM操作は遅い。 想像しているよりもずっと。
24.
リストオブジェクトのデータ追加 <table>への大量の行追加
25.
突然の死
26.
エンジニアががんばって DOMを差分更新するパターン データ (JS Object) ビュー (HTML) 変化したところだけ 差分更新
27.
どこかでミスして 変な中間状態におちいる
28.
結局のところ死
29.
1. 簡単だけど遅い 2. 高速だけど複雑
30.
なぜReactか?
31.
結局のところ死
32.
そこでVirtual DOM
33.
データ (JS Object) ビュー (HTML) テンプレートで全更新 (簡単) Virtual DOM システム的に差分更新 (高速)
34.
エンジニア的には、常に全更新で 良いので簡単で間違えない。 システム的には、差分更新なので 高速に実行可能。
35.
つまり、簡単で速い
36.
1. Virtual DOMの全更新 2.
Virtual DOMの差分計算 3. DOMへの差分適用 ・・・は「DOMの全更新」より速い
37.
Hello React
38.
<!DOCTYPE html> <html> <head> <script src="build/react.js"></script> <script
src="build/JSXTransformer.js"></ script> </head> <body> <div id="example"></div> <script type="text/jsx"> React.render( <h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>
40.
React.render( <h1>Hello, world!</h1>, document.getElementById('example') );
41.
#example要素の中に <h1>Hello, world!</h1> を表示
42.
React.render( <h1>Hello, world!</h1>, document.getElementById('example') );
43.
JSX
44.
これじゃない
45.
これでもない
46.
JSX is a
JavaScript syntax extension that looks similar to XML.
47.
XMLっぽいのが使える JavaScript
48.
<!DOCTYPE html> <html> <head> <script src="build/react.js"></script> <script
src="build/JSXTransformer.js"></ script> </head> <body> <div id="example"></div> <script type="text/jsx"> React.render( <h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>
49.
JSXTransformerで JavaScriptに変換してから実行 JSX JavaScript react.js JSXTransformer 実行
50.
JSXのプリコンパイル
51.
実行時にコンパイルしたくない。
52.
npm install -g
react-tools JSX JavaScript react.js react-tools 実行
53.
React.render( React.createElement("h1", null, "Hello, world!"), document.getElementById('example') );
54.
<!DOCTYPE html> <html> <head> <script src="build/react.js"></script> <!--<script
src="build/JSXTransformer.js"></ script>--> </head> <body> <div id="example"></div> <script src="build/helloworld.js"></script> </body> </html>
55.
Component
56.
Componentとは?
57.
Viewをオブジェクト化したもの
58.
var Hello =
React.createClass({ render() { return ( <div>Hello {this.props.name}</div> ) } }); React.render( <Hello name="World" />, document.getElementById('example') );
59.
React#createClassで、 Componetを作成
60.
renderメソッドで、 描画するDOM定義を返す。
61.
var Hello =
React.createClass({ render() { return ( <div>Hello {this.props.name}</div> ) } }); React.render( <Hello name="World" />, document.getElementById('example') );
62.
Componentに対して、 propsで値の受け渡しが可能
63.
var Hello =
React.createClass({ render() { return ( <div>Hello {this.props.name}</div> ) } }); React.render( <Hello name="World" />, document.getElementById('example') );
64.
props
65.
props?
66.
Componentに対して 外部から値を渡す受け口
67.
propsが外部との インタフェースになる propsで何でも渡せる(関数も)
68.
propsはImmutableに扱う 外からpropsを渡し直すときは、 setProps、replaceProps
69.
state
70.
state?
71.
Component内部の 状態を保持するための変数
72.
propsが外部とのインタフェース stateは内部の状態変数 State props render Component
73.
var Hello =
React.createClass({ getInitialState() { return { name: 'World' }; }, onClick() { this.setState({ name: this.state.name + '!' }); }, render() { return ( <div> <h1>Hello {this.state.name}</h1> <button onClick={this.onClick}>click</button> </div> ) } });
75.
あるComponentのstateが、 その子のpropsになるかも
76.
Users User ID Name … User ID Name … … [ {ID, Name, …}, {ID,
Name, …}, {ID, Name, …}, … ]
77.
var User =
React.createClass({ render() { return ( <li>Hello {this.props.user.name}</li> ) } });
78.
var Users =
React.createClass({ // …(略)… render() { var users = this.state.users.map((user) => { return <User user={user}/> }); return ( <ul> {users} </ul> ) } });
80.
まとめ
81.
便利そう。
82.
次回予告
83.
・週に1回、誰かが発表しています。 ・発表者はリレー形式でやってい ます。 ・内容は指名された人が主張した いことや興味があることなど ・時間は、10∼30分程度です。 ・形式も色々です。(プレゼン形式、 クイズ形式、など) ・途中参加、途中退出もOKです。 ・飛び込みでの発表もOKです。
84.
@uchidas
85.
3/10(火) 19:00∼
Download