Submit Search
Upload
React componentのコンストラクタを追いかけて
•
Download as PPTX, PDF
•
0 likes
•
1,470 views
Hoso michi
Follow
20150908 ReactMeetup#2
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 33
Download now
Recommended
PHPUnitでリファクタリング
PHPUnitでリファクタリング
Takako Miyagawa
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011
Takako Miyagawa
2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT
Takako Miyagawa
Code igniter + ci phpunit-test
Code igniter + ci phpunit-test
ME iBotch
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
VSCodeへコントリビュート / Contribute to VSCode
VSCodeへコントリビュート / Contribute to VSCode
Yusuke Yamada
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
Takako Miyagawa
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
Takako Miyagawa
Recommended
PHPUnitでリファクタリング
PHPUnitでリファクタリング
Takako Miyagawa
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011
Takako Miyagawa
2011 PHPカンファレンス関西 懇親会LT
2011 PHPカンファレンス関西 懇親会LT
Takako Miyagawa
Code igniter + ci phpunit-test
Code igniter + ci phpunit-test
ME iBotch
Codeigniter3フレームアップデート
Codeigniter3フレームアップデート
tomohiro kitaura
VSCodeへコントリビュート / Contribute to VSCode
VSCodeへコントリビュート / Contribute to VSCode
Yusuke Yamada
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
Takako Miyagawa
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
Takako Miyagawa
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Takako Miyagawa
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
Microsoft Build 2021 前夜祭LT
Microsoft Build 2021 前夜祭LT
Yusuke Yamada
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
Masaru Matsuo
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
minoru nakanou
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
Takhisa Hirokawa
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
どこに何を書くのか?
どこに何を書くのか?
pospome
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
zgmf_mbfp03
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
Nomo Kiyoshi
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
kenjis
フロントエンドというカオスな世界について
フロントエンドというカオスな世界について
mikakane
8th july2013 packaged_apps_codelab
8th july2013 packaged_apps_codelab
Kensaku Komatsu
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
kenjis
保守しやすいコードの反面教師 (アンチパターン) その1
保守しやすいコードの反面教師 (アンチパターン) その1
keitasudo1
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
Hiroshi Kikuchi
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
ssuser331f24
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Tomohiro Yamasaki
The First React on Rails
The First React on Rails
Kohei Ito
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
KSato2
More Related Content
What's hot
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Takako Miyagawa
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
noldor
Microsoft Build 2021 前夜祭LT
Microsoft Build 2021 前夜祭LT
Yusuke Yamada
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
Masaru Matsuo
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
minoru nakanou
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
Takhisa Hirokawa
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
どこに何を書くのか?
どこに何を書くのか?
pospome
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
zgmf_mbfp03
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
Nomo Kiyoshi
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
kenjis
フロントエンドというカオスな世界について
フロントエンドというカオスな世界について
mikakane
8th july2013 packaged_apps_codelab
8th july2013 packaged_apps_codelab
Kensaku Komatsu
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
kenjis
保守しやすいコードの反面教師 (アンチパターン) その1
保守しやすいコードの反面教師 (アンチパターン) その1
keitasudo1
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
Hiroshi Kikuchi
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
ssuser331f24
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Tomohiro Yamasaki
What's hot
(20)
CodeIgniterのライセンスについて
CodeIgniterのライセンスについて
Code igniterを初めて使うときにはまった4つのポイント
Code igniterを初めて使うときにはまった4つのポイント
Microsoft Build 2021 前夜祭LT
Microsoft Build 2021 前夜祭LT
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
どこに何を書くのか?
どこに何を書くのか?
開発現場で使えるかもしれないGroovy
開発現場で使えるかもしれないGroovy
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
フロントエンドというカオスな世界について
フロントエンドというカオスな世界について
8th july2013 packaged_apps_codelab
8th july2013 packaged_apps_codelab
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
保守しやすいコードの反面教師 (アンチパターン) その1
保守しやすいコードの反面教師 (アンチパターン) その1
開発チームにKotlinを導入した話
開発チームにKotlinを導入した話
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Similar to React componentのコンストラクタを追いかけて
The First React on Rails
The First React on Rails
Kohei Ito
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
KSato2
React.jsでHowManyPizza
React.jsでHowManyPizza
松田 千尋
社内LTネタ ReactNative
社内LTネタ ReactNative
Oguri Toru
Riot.jsに触れてみた話
Riot.jsに触れてみた話
エンジニア勉強会 エスキュービズム
React introduntion
React introduntion
YutaShimabukuro
React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話
GIG inc.
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
Storybook web-and-circleci
Storybook web-and-circleci
Jesse Katsumata
SYSTEMI勉強会まとめ資料(日記アプリ作成)
SYSTEMI勉強会まとめ資料(日記アプリ作成)
YoshikiWatanabe1
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
React Nativeでお絵描きしてみた
React Nativeでお絵描きしてみた
kazuki matsumura
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
Ryosuke Hara
SYSTEMI勉強会まとめ資料(React基礎まとめ)
SYSTEMI勉強会まとめ資料(React基礎まとめ)
YoshikiWatanabe1
コロナ時代を生き抜く(?) Slackアプリ開発・運用知見まとめ
コロナ時代を生き抜く(?) Slackアプリ開発・運用知見まとめ
Masayuki Uehara
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
React ContextとPropの違いについて
React ContextとPropの違いについて
faliplvsg
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
yuichi kubota
Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
react-native.pdf
react-native.pdf
DaikiSato10
Similar to React componentのコンストラクタを追いかけて
(20)
The First React on Rails
The First React on Rails
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
React.jsでHowManyPizza
React.jsでHowManyPizza
社内LTネタ ReactNative
社内LTネタ ReactNative
Riot.jsに触れてみた話
Riot.jsに触れてみた話
React introduntion
React introduntion
React Native + Expoでアプリを開発してみた話
React Native + Expoでアプリを開発してみた話
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
Storybook web-and-circleci
Storybook web-and-circleci
SYSTEMI勉強会まとめ資料(日記アプリ作成)
SYSTEMI勉強会まとめ資料(日記アプリ作成)
Create android app can send SMS and Email by React Natice
Create android app can send SMS and Email by React Natice
React Nativeでお絵描きしてみた
React Nativeでお絵描きしてみた
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
SYSTEMI勉強会まとめ資料(React基礎まとめ)
SYSTEMI勉強会まとめ資料(React基礎まとめ)
コロナ時代を生き抜く(?) Slackアプリ開発・運用知見まとめ
コロナ時代を生き抜く(?) Slackアプリ開発・運用知見まとめ
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
React ContextとPropの違いについて
React ContextとPropの違いについて
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
Responsableを使ったadr実装
Responsableを使ったadr実装
react-native.pdf
react-native.pdf
React componentのコンストラクタを追いかけて
1.
React Componentの コンストラクタを 追いかけて 2015/09/08 React
Meetup #2 hosomichi
2.
自己紹介 と申します
3.
自己紹介 所属 ・Reactを活用した開発業務(5ヶ月少々) ・インターネット広告タグの開発 ・その他何でも(バックエンド/インフラ/Android/マネジメント) を生業としております
4.
私めの課題感
5.
React初学者への 作法説明がゆるい 私めの課題感
6.
私めの課題感 例えば のようなコード
7.
私めの課題感
8.
私めの課題感
9.
私めの課題感
10.
私めの課題感
11.
いわゆるJSコンストラクタと異なる構文に対して、 役割理解・整理が仕切れておらず 上手に説明ができていない自分がいるなーと 私めの課題感
12.
という課題を解決すべく、 ソースコード(0.13.3)を 追うことでReactの裏側の 理解を深めつつ整理しました
13.
①コンストラクタ生成
14.
①コンストラクタ生成 ・内部的にReactClass.createClassをコール ・引数オブジェクトは内部的にはspecと名付け ・Constructorという名のコンストラクタ関数を返却 spec
15.
①コンストラクタ生成 ・ES6型のクラス定義もコンストラクタ関数を提供 ・上記の場合はHosoComponentという コンストラクタ関数になりますね
16.
①コンストラクタ生成 最終的に↑のような コンストラクタ関数が出来上がります ※便宜上Componentコンストラクタ、 実体をComponentインスタンスと呼びます Constructor prototype spec
17.
①コンストラクタ生成 注)specはprototypeに納められます。 specのメンバは全てのComponentインスタンスでア クセス可能・共有されます。 Constructor prototype spec prototype
18.
②ReactElement生成
19.
②ReactElement生成 ・内部的にはReactElement.createElementをコール ・Componentコンストラクタ・propsを受け取り ReactElementインスタンスを返す JSXと関数コール(やっていることは同じ)
20.
②ReactElement生成 ・生成されたReactElementは↑のような感じです ・第一引数に指定したComponentコンストラクタは typeというメンバに納められます ReactElementインスタンス type key props ref
21.
ところで、まだコンストラクタは 実行されていませんよね・・・ どこでコンストラクトしてるのか・・・ わくわく♪
22.
③React.render
23.
③React.render ・引数にReactElementとコンテナ要素を受け取って 画面描画を実行 ・戻り値としてComponentコンストラクタの 結果値であるインスタンスを返す
24.
③React.render render工程の道のりは長いのですが・・・ ReactMount ReactUpdate ReactReconciler ReactCompositeComponent
25.
③React.render ReactCompositeComponent.mountComponent にてインスタンスを生成していました
26.
③React.render ここでReactElementに渡したpropsが引数となり インスタンスごとの固有データもここで入ります
27.
④最後にthisについて このthisはComponentインスタンスそのものと いうことでした
28.
まとめます
29.
①createClassはComponentコンストラクタを生成 ②ReactElementはコンストラクタとprops/key/refを紐付けたデータ構造 ③ComponentインスタンスはReact.render中に生成される ④renderメソッドなどの内部のthisはComponentインスタンスそのもの ① ④ ②③
30.
最後に 一句詠みます
Download now