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
Yuusuke Takeuchi
PDF, PPTX
3,956 views
Reduxについて
年末JavaScript祭ゆく年くる年 in IDCフロンティアのLT用資料です。
Technology
◦
Read more
4
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PDF
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
PDF
React.js + Flux
by
dsuke Takaoka
PPTX
Reactつかってみた
by
Minori Tokuda
PDF
`redux`と`flux`を比べてみたときの個人的な感想
by
佐藤 俊太郎
PDF
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
PDF
SIROK技術勉強会 #1 「Reactってなんだ?」
by
Naoyuki Kataoka
PDF
( ゚∀゚)o彡° Flux! Flux!
by
Yuki Ishikawa
PPTX
くらうどって難しい.....ですか?
by
Akira Hatsune
svelte と tailwind で始めるフロントエンド開発
by
Shuichi Takaya
React.js + Flux
by
dsuke Takaoka
Reactつかってみた
by
Minori Tokuda
`redux`と`flux`を比べてみたときの個人的な感想
by
佐藤 俊太郎
なぜ人は必死でjQueryを捨てようとしているのか
by
Yoichi Toyota
SIROK技術勉強会 #1 「Reactってなんだ?」
by
Naoyuki Kataoka
( ゚∀゚)o彡° Flux! Flux!
by
Yuki Ishikawa
くらうどって難しい.....ですか?
by
Akira Hatsune
What's hot
PDF
作って分かるKnockoutJS@ALM11月
by
Takuya Ueda
PDF
Flux react現状確認会
by
VOYAGE GROUP
PDF
スマホにおけるWebGL入門
by
Yohta Kanke
PPTX
今からでも遅くない! React事始め
by
ynaruta
PPTX
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
PPTX
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
by
Seki Yousuke
PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
PDF
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
PDF
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
by
Toshihiro Kawachi
PDF
【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント
by
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
PDF
モダンJavaScriptフレームワークで技術的負債を作らないために
by
YukiOniki
PDF
【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント
by
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
PDF
React+fluxを導入した話
by
Yuki Ishikawa
PPT
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
by
Mori Shingo
PDF
angular X designer - デザイナからみたAngularJS #ten1club
by
silvers ofsilvers
PDF
Knockout.js を利用したインタラクティブ web アプリケーション開発
by
Daizen Ikehara
作って分かるKnockoutJS@ALM11月
by
Takuya Ueda
Flux react現状確認会
by
VOYAGE GROUP
スマホにおけるWebGL入門
by
Yohta Kanke
今からでも遅くない! React事始め
by
ynaruta
ReactでCMSを作ったときにハマったこと
by
kazuki matsumura
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
by
Seki Yousuke
サーバサイドエンジニアが 1年間まじめにSPAやってみた
by
Itaru Kitagawa
いまさら聞けない!?Backbone.js 超入門
by
Kohei Kadowaki
KnockoutJS勉強会 プロジェクトにmvvmを適用する狙い
by
Toshihiro Kawachi
【Web TECH FORUM 2017 in大阪】Webシステム開発とJavaScript UIコンポーネント
by
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
モダンJavaScriptフレームワークで技術的負債を作らないために
by
YukiOniki
【Web TECH FORUM 2017 in大阪】JavaScript UIコンポーネント の選定と活用ポイント
by
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
React+fluxを導入した話
by
Yuki Ishikawa
2010-10-2 FxUG 名古屋勉強会 HTML5で遊んでみよう
by
Mori Shingo
angular X designer - デザイナからみたAngularJS #ten1club
by
silvers ofsilvers
Knockout.js を利用したインタラクティブ web アプリケーション開発
by
Daizen Ikehara
Viewers also liked
PDF
Using redux
by
Jonas Ohlsson Aden
PPTX
React を導入したフロントエンド開発
by
daisuke-a-matsui
PPTX
AngularJS2でつまづいたこと
by
Takehiro Takahashi
PDF
SPAと覚悟
by
Teppei Sato
PDF
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
by
Yuusuke Takeuchi
PPTX
20160927 reactmeetup
by
Naoki Kurosawa
PDF
自作ゲームをWebpack対応させてみた
by
Yuusuke Takeuchi
PPTX
実践 Redux Saga -Practical Redux Saga-
by
Shinichiro Yoshida
PPT
マーケティングテクノロジー勉強会
by
伊藤 孝
PDF
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
by
Yuusuke Takeuchi
PDF
ゲームの自動テストを 作ってみた
by
Yuusuke Takeuchi
Using redux
by
Jonas Ohlsson Aden
React を導入したフロントエンド開発
by
daisuke-a-matsui
AngularJS2でつまづいたこと
by
Takehiro Takahashi
SPAと覚悟
by
Teppei Sato
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
by
Yuusuke Takeuchi
20160927 reactmeetup
by
Naoki Kurosawa
自作ゲームをWebpack対応させてみた
by
Yuusuke Takeuchi
実践 Redux Saga -Practical Redux Saga-
by
Shinichiro Yoshida
マーケティングテクノロジー勉強会
by
伊藤 孝
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
by
Yuusuke Takeuchi
ゲームの自動テストを 作ってみた
by
Yuusuke Takeuchi
Similar to Reduxについて
PDF
サービス開発における フロントエンド・ドメイン駆動設計の実践
by
TakefumiYoshii
PPTX
reduxのstate設計の話
by
ayatas0623
PPTX
React + Reduxで作る対話AI
by
Kentaro Tada
PPTX
React.js・ReactNative・Redux入門
by
Kazuhiro Yoshimoto
PDF
サービスの成長を支えるフロントエンド開発 #denatechcon
by
DeNA
PDF
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
by
Fumiya Sakai
PPTX
React+redux+saga 02
by
TIS Inc
PDF
Reduxについて
by
Kengo Shibayama
PDF
サンプルTodoから見るreact,flux,redux(古川)
by
hisakatsu furukawa
PPTX
SYSTEMI勉強会まとめ資料(React基礎まとめ)
by
YoshikiWatanabe1
PDF
FluxのDispatcherとAction周りのことでもやもやしていることを晒してみる
by
Yuta Shimakawa
サービス開発における フロントエンド・ドメイン駆動設計の実践
by
TakefumiYoshii
reduxのstate設計の話
by
ayatas0623
React + Reduxで作る対話AI
by
Kentaro Tada
React.js・ReactNative・Redux入門
by
Kazuhiro Yoshimoto
サービスの成長を支えるフロントエンド開発 #denatechcon
by
DeNA
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
by
Fumiya Sakai
React+redux+saga 02
by
TIS Inc
Reduxについて
by
Kengo Shibayama
サンプルTodoから見るreact,flux,redux(古川)
by
hisakatsu furukawa
SYSTEMI勉強会まとめ資料(React基礎まとめ)
by
YoshikiWatanabe1
FluxのDispatcherとAction周りのことでもやもやしていることを晒してみる
by
Yuta Shimakawa
More from Yuusuke Takeuchi
PDF
テスト駆動ゲーム開発をJava scriptで実践
by
Yuusuke Takeuchi
PDF
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
by
Yuusuke Takeuchi
PDF
Node.jsで対戦ゲーム作ったよ
by
Yuusuke Takeuchi
PDF
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
by
Yuusuke Takeuchi
PDF
Gブレイバーのことれからとこの先
by
Yuusuke Takeuchi
PDF
Node.jsでサーバプログラマ デビューしよう
by
Yuusuke Takeuchi
PDF
東京Node学園祭2014 飛び入りLT
by
Yuusuke Takeuchi
PDF
Enchant.js入門
by
Yuusuke Takeuchi
PDF
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
by
Yuusuke Takeuchi
PDF
日曜プログラマーとigoogle先生
by
Yuusuke Takeuchi
PDF
2014年上期Gブレイバー振り返り
by
Yuusuke Takeuchi
PDF
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
by
Yuusuke Takeuchi
PDF
Passportでサクッと外部認証を組み込もう
by
Yuusuke Takeuchi
PDF
春のJs祭2015 lt
by
Yuusuke Takeuchi
PDF
Gブレイバー開発計画 2スプリント目
by
Yuusuke Takeuchi
PDF
Gブレイバー開発計画3スプリント目
by
Yuusuke Takeuchi
PDF
Gブレイバー1人用モード開発案
by
Yuusuke Takeuchi
テスト駆動ゲーム開発をJava scriptで実践
by
Yuusuke Takeuchi
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
by
Yuusuke Takeuchi
Node.jsで対戦ゲーム作ったよ
by
Yuusuke Takeuchi
日曜プログラマーが 1週間くらいで通信対戦ゲームを作ってみた
by
Yuusuke Takeuchi
Gブレイバーのことれからとこの先
by
Yuusuke Takeuchi
Node.jsでサーバプログラマ デビューしよう
by
Yuusuke Takeuchi
東京Node学園祭2014 飛び入りLT
by
Yuusuke Takeuchi
Enchant.js入門
by
Yuusuke Takeuchi
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
by
Yuusuke Takeuchi
日曜プログラマーとigoogle先生
by
Yuusuke Takeuchi
2014年上期Gブレイバー振り返り
by
Yuusuke Takeuchi
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
by
Yuusuke Takeuchi
Passportでサクッと外部認証を組み込もう
by
Yuusuke Takeuchi
春のJs祭2015 lt
by
Yuusuke Takeuchi
Gブレイバー開発計画 2スプリント目
by
Yuusuke Takeuchi
Gブレイバー開発計画3スプリント目
by
Yuusuke Takeuchi
Gブレイバー1人用モード開発案
by
Yuusuke Takeuchi
Reduxについて
1.
Reduxについて 年末JavaScript祭ゆく年くる年 in IDCフロンティア 2015/12/26 竹内 佑介
2.
自己紹介 竹内 佑介 プログラマーやってます 最近Reduxばっかやった ので、そろそろ別のことを やりたいです 今期の嫁はチノちゃんです
3.
大規模javascript案件で こんなこと困ってませんか
4.
View、イベントハンドラ、 ロジックが入り乱れて カオスコードに
5.
ロジックが特定のDom構造を 前提にしているため 再利用&メンテナンス不可能
6.
その課題、Reduxなら 解決できるかも
7.
Reduxとは? fluxパターンを実装した、フレームワークの一種 ReduxはView以外を提供している http://redux.js.org/ ここを提供する
8.
fluxの基本的な考え方 描画の元となる pureオブジェクト storeを元にDomを 描画する
9.
fluxの基本的な考え方 viewまたは AJAX通信がアクション を発行 アクションに応じて Storeを変更する
10.
Reduxの基本 Store State(基本となるデータいわゆるModel)を持つ ActionCreator(fluxだとAction) イベント発行、サーバとの通信 Reducer(fluxだとDispatcher) Actionに応じてStateを更新
11.
コードを見てイメージを 掴みましょう
12.
コード例 Action Creator function
addTodo(text) { return { type: ADD_TODO, text } } アクション用オブジェクトを変えす関数を書く 返すオブジェクトは上記パターンでなくてもOK 非同期アクションは次で説明
13.
コード例 Action Creator(非同期) export
const REQUEST_POSTS = 'REQUEST_POSTS' function requestPosts(reddit) { return { type: REQUEST_POSTS, reddit } } export const RECEIVE_POSTS = 'RECEIVE_POSTS' function receivePosts(reddit, json) { return { type: RECEIVE_POSTS, reddit, posts: json.data.children.map(child => child.data), receivedAt: Date.now() } } export function fetchPosts(reddit) { return dispatch => { dispatch(requestPosts(reddit)) return fetch(`http://www.reddit.com/r/${reddit}.json`) .then(response => response.json()) .then(json => dispatch(receivePosts(reddit, json)) ) } }
14.
コード例 Action Creator(非同期) export
function fetchPosts(reddit) { return dispatch => { dispatch(requestPosts(reddit)) // リクエスト開始アクション return fetch(`http://www.reddit.com/r/${reddit}.json`) .then(response => response.json()) .then(json => dispatch(receivePosts(reddit, json)) // リクエスト完了アクション ) } } 非同期関数の前で1回、コールバックが呼ばれたらさら に1回別のアクション関数を呼ぶ ↑の挙動をするためにredux-thunkと言うミドルウェ アを使う https://github.com/gaearon/redux-thunk
15.
コード例 Reducer アクションに応じて状態を変化させる関数を書く Reducerは階層化、モジュール化することができる function todoApp(state
= initialState, action) { switch (action.type) { case SET_VISIBILITY_FILTER: return Object.assign({}, state, { visibilityFilter: action.filter }) default: return state } }
16.
コード例 階層化したReducer 長くなったので次のページで
17.
export default function
todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([ action.text ]) default: return state } } export default function counter(state = 0, action) { switch (action.type) { case 'INCREMENT': return state + 1 case 'DECREMENT': return state - 1 default: return state } } import { combineReducers } from 'redux' import todos from './todos' import counter from './counter' export default combineReducers({ todos, counter })
18.
コード例 階層化したReducer ↑の感じで分割したReducerをcombineReducerでまと める Stateの各メンバがconbineReducersに定義したReducer 名に対応している(次で説明) import { combineReducers
} from 'redux' import todos from './todos' import counter from './counter' export default combineReducers({ todos, counter })
19.
コード例 階層化したReducer export default combineReducers({ todos, counter }) //
全体のState { todos: [ ”朝ごはんを食べる”, ”js祭に参加する”, ], counter } こんな感じでStateとconbineReducersが対応してい る
20.
コード例 Store ここら辺はほぼ定型です ぶちゃけ1回書いたら後はほとんど変えないです import {
createStore } from 'redux' import todoApp from './reducers' // Soreを宣言、Reducerはここで渡す let store = createStore(todoApp); // アクション発行 store.dispatch(addTodo('')); // stateに変化があれば、それをViewに伝える sore.subscribe(()=> { // 現在のStateを取得 var state = store.getState(); // ViewにStateを渡す View(state); });
21.
Viewには何を使えばいいの React.jsを使うことが多いらしいです Reactを使う場合、Viewに状態を持たせたく ないので極力Stateを使わないようにします 理想では同じプロパティを渡されたら、いつで も同じDomをレンダリングするということ
22.
Reduxを入れてよかったこと fluxパターンなだけあって、コードの見通しが 良くなった 画面の再利用性が高まった Reduxで作った画面をダイアログ化するという ことをやりましたが、比較的簡単に実現できま した
23.
Reduxを使ってみての課題 Dom描画がすごく遅くなることがあった バリデーションを実装したけど、入力が完了す るたびに再描画処理が走る 要素が3000個以上もあると、Reactの Shadow Domもあてにならない
24.
Reduxを始めるには 当たり前ですが、grunt、gulpなどのフロン トエンドビルド環境が必要です es6は必須ではないですが、サンプルはes6で 書かれたものが多いので導入した方がスムーズ です
25.
Reduxを勉強するには 公式ドキュメントを読めば、大体分かります http://redux.js.org/index.html basic、Async Actionを3時間くらいかけて 読んでイメージを掴みました
26.
ご清聴ありがとう ございました
Download