Submit Search
Upload
サンプルTodoから見るreact,flux,redux(古川)
•
0 likes
•
2,162 views
H
hisakatsu furukawa
Follow
React忘年会にて発表した資料となります。 https://teamspirit.connpass.com/event/46336/
Read less
Read more
Technology
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Akira Kuratani
静的解析、はじまったな
静的解析、はじまったな
Akira Kuratani
SWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえる
Shingo Yamazaki
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
ynakahira
ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係
Akira Kuratani
アイコンがなぜずれるのか?
アイコンがなぜずれるのか?
Nozomu FURUYA
今からでも遅くない! React事始め
今からでも遅くない! React事始め
ynaruta
Recommended
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Akira Kuratani
静的解析、はじまったな
静的解析、はじまったな
Akira Kuratani
SWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえる
Shingo Yamazaki
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
ynakahira
ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係
Akira Kuratani
アイコンがなぜずれるのか?
アイコンがなぜずれるのか?
Nozomu FURUYA
今からでも遅くない! React事始め
今からでも遅くない! React事始め
ynaruta
Chromeデベロッパーツール
Chromeデベロッパーツール
Keiichi Kobayashi
Mobile + HTML5
Mobile + HTML5
Shinobu Okano
Lightning コンポーネント Deep Dive
Lightning コンポーネント Deep Dive
Salesforce Developers Japan
Lightning を利用した開発とケーススタディ
Lightning を利用した開発とケーススタディ
Salesforce Developers Japan
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
Hironori Miura
Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要
Salesforce Developers Japan
Famo.usはもう試したかい?
Famo.usはもう試したかい?
lion-man
Cartilla Moral- PDF Alfonso Reyes
Cartilla Moral- PDF Alfonso Reyes
CUZEM, centro universitario Zinacantepec del Estado de Mexico A.C. , ANGFER Distribucion
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
Sales vs. Marketing: The Original Game of Thrones
Sales vs. Marketing: The Original Game of Thrones
Pardot
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
10 Ways to Get More from Your Pardot Solution
10 Ways to Get More from Your Pardot Solution
Pardot
Pardot Basics Bootcamp
Pardot Basics Bootcamp
Pardot
kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道
Yusuke Amano
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce Developers Japan
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
Spring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクト
政雄 金森
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
Hiroyuki Anai
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
暁 三宅
redash 導入で考えるデータ分析と活用
redash 導入で考えるデータ分析と活用
Sumito Tsukada
More Related Content
Viewers also liked
Chromeデベロッパーツール
Chromeデベロッパーツール
Keiichi Kobayashi
Mobile + HTML5
Mobile + HTML5
Shinobu Okano
Lightning コンポーネント Deep Dive
Lightning コンポーネント Deep Dive
Salesforce Developers Japan
Lightning を利用した開発とケーススタディ
Lightning を利用した開発とケーススタディ
Salesforce Developers Japan
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
Hironori Miura
Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要
Salesforce Developers Japan
Famo.usはもう試したかい?
Famo.usはもう試したかい?
lion-man
Cartilla Moral- PDF Alfonso Reyes
Cartilla Moral- PDF Alfonso Reyes
CUZEM, centro universitario Zinacantepec del Estado de Mexico A.C. , ANGFER Distribucion
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
kotaro_hirayama
Sales vs. Marketing: The Original Game of Thrones
Sales vs. Marketing: The Original Game of Thrones
Pardot
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
10 Ways to Get More from Your Pardot Solution
10 Ways to Get More from Your Pardot Solution
Pardot
Pardot Basics Bootcamp
Pardot Basics Bootcamp
Pardot
kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道
Yusuke Amano
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce Developers Japan
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
Spring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクト
政雄 金森
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
Kei Yagi
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
Hiroyuki Anai
React を導入したフロントエンド開発
React を導入したフロントエンド開発
daisuke-a-matsui
Viewers also liked
(20)
Chromeデベロッパーツール
Chromeデベロッパーツール
Mobile + HTML5
Mobile + HTML5
Lightning コンポーネント Deep Dive
Lightning コンポーネント Deep Dive
Lightning を利用した開発とケーススタディ
Lightning を利用した開発とケーススタディ
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要
Famo.usはもう試したかい?
Famo.usはもう試したかい?
Cartilla Moral- PDF Alfonso Reyes
Cartilla Moral- PDF Alfonso Reyes
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
『健全なフロントエンド開発をしよう 〜Railsに乗っかるという選択編〜』 アップ用
Sales vs. Marketing: The Original Game of Thrones
Sales vs. Marketing: The Original Game of Thrones
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
10 Ways to Get More from Your Pardot Solution
10 Ways to Get More from Your Pardot Solution
Pardot Basics Bootcamp
Pardot Basics Bootcamp
kintoneフロントエンド開発 モダン化への道
kintoneフロントエンド開発 モダン化への道
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
Spring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクト
フロントエンド初学者がSPAに手を出してみた
フロントエンド初学者がSPAに手を出してみた
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
React を導入したフロントエンド開発
React を導入したフロントエンド開発
Similar to サンプルTodoから見るreact,flux,redux(古川)
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
暁 三宅
redash 導入で考えるデータ分析と活用
redash 導入で考えるデータ分析と活用
Sumito Tsukada
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
Kazuhiro Yoshimoto
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
Fumiya Sakai
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fumiya Sakai
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
Fumiya Sakai
SELinuxの課題について
SELinuxの課題について
Atsushi Mitsu
SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
Reactの全体像と新しい情報を収集する方法
Reactの全体像と新しい情報を収集する方法
プログラミングをする パンダ
Reactnative はじめの一歩
Reactnative はじめの一歩
PIXTA Inc.
kichijyojipm17-Riot20190301
kichijyojipm17-Riot20190301
Masanobu Shimura
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
DeNA
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Yahoo!デベロッパーネットワーク
react_rails
react_rails
Shigeru Kondoh
GitLab Prometheus
GitLab Prometheus
Shingo Kitayama
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
無料静的ホスティング × FaaSの話
無料静的ホスティング × FaaSの話
Shinichi Ueno
Similar to サンプルTodoから見るreact,flux,redux(古川)
(18)
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
redash 導入で考えるデータ分析と活用
redash 導入で考えるデータ分析と活用
React.js・ReactNative・Redux入門
React.js・ReactNative・Redux入門
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
ReactNative + Redux + NativeBaseでつくるサンプル実装をのぞく
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
SELinuxの課題について
SELinuxの課題について
SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~
Reactの全体像と新しい情報を収集する方法
Reactの全体像と新しい情報を収集する方法
Reactnative はじめの一歩
Reactnative はじめの一歩
kichijyojipm17-Riot20190301
kichijyojipm17-Riot20190301
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
react_rails
react_rails
GitLab Prometheus
GitLab Prometheus
Struts2を始めよう!
Struts2を始めよう!
無料静的ホスティング × FaaSの話
無料静的ホスティング × FaaSの話
Recently uploaded
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Recently uploaded
(8)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
サンプルTodoから見るreact,flux,redux(古川)
1.
React勉強会 TODOアプリから見るReactのみ、 React+FluxとReact+Reduxの違い
2.
発表者 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 1 名前:古川 久勝 所属:株式会社チームスピリット 主な仕事:サーバサイド側プログラミング つまり
3.
免罪符 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 2 的な内容もあるかと思います為、ご了承ください 素 人 は 黙 っ と れ ー ー 画像は省略
4.
react: https://facebook.github.io/react/ flux: https://github.com/facebook/flux/tree/master/examples /flux-todomvc redux: http://redux.js.org/docs/basics/ExampleTodoList.html 今回使用したサンプル 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 3
5.
ReactとFlux、Reduxの違いは 状態(変数みたいなもの)の 格納、保持方法が違うだけ。 描画部分はほぼ一緒です。 それぞれの違い 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 4 ※初心者の意見です
6.
React処理の流れ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 5 App State(状態) Render関数 Stateを使用して描画
7.
React処理の流れ(Todo追加) 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 6 App State(状態) Render関数 追加するTodoを Stateに格納 追加したTodoが含まれている Stateを使用して描画
8.
React処理の特徴 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 7 特徴 とにかく単純である メリット ・ソースが少なくてすむ ・ブラックボックス部分が少ないためぱっとみの 流れがわかりやすい デメリット ・複雑になるとStateがかなり迷子になりやすい ・Stateを見知らぬ地にて変更されると修正しにくい ・他のソースにStateを渡す場合はRootとなるソースが必要 こんな時におすすめ ・小規模なアプリケーションを作成する場合
9.
Flux処理の流れ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 8 Container Store Reduse関数 State Store Reduse関数 State View Render関数 StateをPropsに変換して描画 Action 動作関数 Dispacther 動作させる処理を持たせて Reduse関数に投げる 動作関数からDispatcherに 動作させる処理を登録 Reduse関数からStateを更新
10.
Flux処理の流れ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 9 Container Store Reduse関数 State Store Reduse関数 State View Render関数 追加したTodoが含まれている StateをPropsに変換して描画 Action 動作関数 Dispacther Todo追加処理を持たせて Reduse関数に投げる Dispatcherに Todo追加処理を登録 Reduse関数から追加したTodoを Stateに追加 追加するTodoを 動作関数に投げる
11.
Flux処理の特徴 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 10 特徴 状態変換と動作、描画が分離されている メリット ・修正箇所がわかりやすい デメリット ・複雑になるとStoreが迷子になりやすい ・他のContainerにStoreを渡す場合はRootContainerが必要 こんな時におすすめ ・描画部分が複雑であるアプリケーションを作る場合
12.
Redux処理の流れ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 11 ContainerStore State Props変換 View Render関数 Propsを渡して描画 Action 動作関数 Reducer Dispatchされた動作関数から 動作させる処理を登録 Reducer reducerState reducerState StateをPropsに変換 Reducerからそれぞれの reducerStateに格納
13.
Redux処理の流れ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 12 ContainerStore State Props変換 Component Render関数 Todo用Propsを渡して描画 Action 動作関数 Reducer DispatchされたTodo追加関数から Todo追加処理を登録 Reducer reducerState reducerState Todo用StateをTodo用Propsに変換 Todo用Reducerから追加したTodoを Todo用Stateに格納 追加するTodoを 動作関数に投げる
14.
Redux処理の特徴 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 13 特徴 Stateを格納しているStoreが一元管理されているため、取扱が楽 メリット ・Stateが迷子にならない ・StateがStoreに一元管理されているため、 State管理用RootContainerが不要 デメリット ・関数を追加する時のソース修正が3個の中で一番多い ・ブラックボックス部分が多いためぱっとみの 流れがわかりにくい ・どこでもStateを取得ができるため、取得側の管理が必要 こんな時におすすめ ・処理部分が複雑であるアプリケーションを作る場合
15.
まとめ 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 14 Reactのみ: シンプルゆえ無法地帯になりやすい。 簡単な機能や制御系が少ないアプリケーションを作る時におすすめ React-Flux: ルールが保たれているがそれでもState管理が大変。 ほどよく制御が含まれているアプリケーションを作る時におすすめ React-Redux: State管理が楽だけど理解とソース量がとにかく多い。 それなりに大規模アプリケーションを作る時におすすめ
16.
Thanks! 終わり 2017/1/30 Copyright © TeamSpirit
Inc. All Rights Reserved. 15 終制作・著作
Download now