限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。immutable.jsなんでReactじゃないのかって?Riotの方が好きだからですよ。Calendarシンプルなカレンダーです。この記事は「カレンダーの作り方」、ではなく「Riot.js+Redux+Immutable.jsで開発する際のもろもろについて」です。3.6.0概要StoreをImmutable.js+Reduxで作り、ViewはRiot.js、ActionやActionCreatorは自前で作りました。StateをImmutableにする意味Reduxでは、一貫してStateは変わりますが、Stateが指すもの自身は変更されません。ReduxにおいてStateはActionが起きたときのみ変更されます。ReducerがStateとActionを受け取り、Stateを返し、それが次のStateとなります。ここで重要なことは、Reducer内でState自身は変更されないということです。いうことはStateはImmutableであっても問題ありません。下手に外部から変更可能にしておくよりも安全になります。state;});実にきれいに書けています。ActionとActionCreatorの実装Fluxのコンセプトどおり、Actionをデータ構造として定義しています。ActionはActionCreatorが呼び出されることで生成されます。PREV_MONTH});この例ではActionは定数となっているのでActionCreatorの必要性をあまり感じません。クリックされた位置情報を渡したいときなどにActionCreatorを使うと、動的にActionを生成できます。Actionを参考にしてます)Dispatcherはどうしたのかstoreに直接Actionを伝播(dispatch)する形となります。「Storeが複数あったらどうするんだ」という声が聞こえてきそうですね。combineReducers()という関数を使うことで複数のReducerを一つにまとめることができます。いうかRedux的にはまとめなければなりません。reducer2}));これに対してdispatchを行うようにすることで、Dispatcherなしでも成立します。して取り出さなければいけなくなり、若干まどろっこしくなります。Riot.jsとの連携このような感じとなります。19:00Riot.js+Redux+Immutable.jsでカレンダーアプリを作った関連記事2018-01-12イミュータブルを簡単に実現するライブラリ「Immer」なかなかクールなライブラリだったので紹介します。2017-06-13即席Immutableライブラリを作ってみたたった17行という超即席ライブラリです。conceptsを参考にFluxについて解説した...2016-06-18immutableとconstの違いがわかりやすいコードを考えたimmutableとconstはとてもよく似ていて混乱しがちです。...2015-10-18Immutableとはなんぞや?なにが嬉しいの?この記事では扱うImmutableの意味は以下の通りです。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。