Recoilライブラリを 触ってみる

iPride Co., Ltd.
iPride Co., Ltd.iPride Co., Ltd.
Recoilライブラリを
触ってみる
執筆者:トビウオ
Reactにおけるstate管理
• メモ帳アプリを考える
• 日付とメッセージ
• 追加、削除できる
• フィルター機能
• 件数の表示機能
Reactにおけるstate管理
• 必要なstateとメソ
ッドを考えるとこ
んな感じ
• filteredMessagesは
messagesから生成す
る
Reactにおけるstate管理
• 必要なstateとメソッドを考えるとこんな感じ
stateをどう利用するか
A. stateを直接生成して管理する←前のページ
B. React.createContextを使う
C. Recoilライブラリを使う←今回の内容
Recoilライブラリの概念
Atom (小さなstate) Atom Atom Selectorの出力
Selectorが加工
stateを利用するUI
getのみ
getやsetが行える
参考:Reduxライブラリ
store
(大きなstate)
Actionに従い
Reducerが加工
stateを利用するUI
store’
(大きなstate)
getのみ
Action (操作)
1つのstoreをActionで加工す
ることで、データや操作の流
れを一方向にできるのが強み
参考:useContext
context
(state+method)
stateを利用するUI
getなど
setなど
• ReduxやRecoilより簡素で
自由度は高い
• 冒頭で説明したコードが
これにあたる
Recoilライブラリの導入
• Reactを使うこと前提のstate管理ライブラリ
• npmパッケージで提供されている
• 例えば npm install recoil として導入する
Recoilライブラリの使い方
• 管理したいstateの単位をAtomとする
• getterはuseRecoilState、setterはuseSetRecoilStateで取
得できる
Recoilライブラリの使い方
• Atomを加工した値を返すためのSelectorを作成する
• getterはuseRecoilValueで取得できる
1 de 11

Recomendados

ドラフト版 COD2012 九州会場 Active Directory 障害対策 por
ドラフト版 COD2012 九州会場 Active Directory 障害対策ドラフト版 COD2012 九州会場 Active Directory 障害対策
ドラフト版 COD2012 九州会場 Active Directory 障害対策wintechq
696 visualizações34 slides
COD2012 九州会場 Active Directory 障害対策 por
COD2012 九州会場 Active Directory 障害対策COD2012 九州会場 Active Directory 障害対策
COD2012 九州会場 Active Directory 障害対策wintechq
3.3K visualizações34 slides
図解 ngrx por
図解 ngrx図解 ngrx
図解 ngrxKou Matsumoto
2.2K visualizações37 slides
SIROK技術勉強会 #1 「Reactってなんだ?」 por
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」Naoyuki Kataoka
65.6K visualizações86 slides
Hadoopによるリクルートでの技術調査とその活用 por
Hadoopによるリクルートでの技術調査とその活用Hadoopによるリクルートでの技術調査とその活用
Hadoopによるリクルートでの技術調査とその活用Chiaki Hatanaka
1.5K visualizações45 slides
Reactのおさらい por
ReactのおさらいReactのおさらい
ReactのおさらいiPride Co., Ltd.
118 visualizações15 slides

Mais conteúdo relacionado

Mais de iPride Co., Ltd.

画像生成AIの問題点 por
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点iPride Co., Ltd.
138 visualizações9 slides
AI入門 por
AI入門AI入門
AI入門iPride Co., Ltd.
192 visualizações99 slides
MVCになぞらえて理解するReact por
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReactiPride Co., Ltd.
220 visualizações19 slides
AIについて学んだこと ~ 生成AIとは? ~ por
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~iPride Co., Ltd.
85 visualizações32 slides
OAuth2.0について por
OAuth2.0についてOAuth2.0について
OAuth2.0についてiPride Co., Ltd.
33 visualizações18 slides
ゼロトラストについて学んだこと por
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだことiPride Co., Ltd.
23 visualizações23 slides

Mais de iPride Co., Ltd.(20)

画像生成AIの問題点 por iPride Co., Ltd.
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
iPride Co., Ltd.138 visualizações
AI入門 por iPride Co., Ltd.
AI入門AI入門
AI入門
iPride Co., Ltd.192 visualizações
MVCになぞらえて理解するReact por iPride Co., Ltd.
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.220 visualizações
AIについて学んだこと ~ 生成AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.85 visualizações
OAuth2.0について por iPride Co., Ltd.
OAuth2.0についてOAuth2.0について
OAuth2.0について
iPride Co., Ltd.33 visualizações
ゼロトラストについて学んだこと por iPride Co., Ltd.
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだこと
iPride Co., Ltd.23 visualizações
ReactでuseEffect()を減らしたい話 por iPride Co., Ltd.
ReactでuseEffect()を減らしたい話ReactでuseEffect()を減らしたい話
ReactでuseEffect()を減らしたい話
iPride Co., Ltd.83 visualizações
AIについて学んだこと ~ AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ AIとは? ~AIについて学んだこと ~ AIとは? ~
AIについて学んだこと ~ AIとは? ~
iPride Co., Ltd.21 visualizações
単一責任の原則について por iPride Co., Ltd.
単一責任の原則について単一責任の原則について
単一責任の原則について
iPride Co., Ltd.24 visualizações
オブジェクト指向 por iPride Co., Ltd.
オブジェクト指向オブジェクト指向
オブジェクト指向
iPride Co., Ltd.21 visualizações
JavaScriptで「キャピタライズ」を 実装してみる por iPride Co., Ltd.
JavaScriptで「キャピタライズ」を 実装してみるJavaScriptで「キャピタライズ」を 実装してみる
JavaScriptで「キャピタライズ」を 実装してみる
iPride Co., Ltd.26 visualizações
Pythonで学ぶ数理計画法の初歩 por iPride Co., Ltd.
Pythonで学ぶ数理計画法の初歩Pythonで学ぶ数理計画法の初歩
Pythonで学ぶ数理計画法の初歩
iPride Co., Ltd.22 visualizações
OIDC(OpenID Connect)について解説③ por iPride Co., Ltd.
OIDC(OpenID Connect)について解説③OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.33 visualizações
DrupalをDockerで起動してみる por iPride Co., Ltd.
DrupalをDockerで起動してみるDrupalをDockerで起動してみる
DrupalをDockerで起動してみる
iPride Co., Ltd.50 visualizações
HTTPの仕組みについて por iPride Co., Ltd.
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについて
iPride Co., Ltd.29 visualizações
通信プロトコルについて por iPride Co., Ltd.
通信プロトコルについて通信プロトコルについて
通信プロトコルについて
iPride Co., Ltd.16 visualizações
OIDC(OpenID Connect)について解説① por iPride Co., Ltd.
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.49 visualizações
SpringBootにおけるテンプレートエンジンの活用 por iPride Co., Ltd.
SpringBootにおけるテンプレートエンジンの活用SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用
iPride Co., Ltd.174 visualizações
SpringBootの研修本で学んだこと por iPride Co., Ltd.
SpringBootの研修本で学んだことSpringBootの研修本で学んだこと
SpringBootの研修本で学んだこと
iPride Co., Ltd.50 visualizações

Último

定例会スライド_キャチs 公開用.pdf por
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
146 visualizações64 slides
光コラボは契約してはいけない por
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 visualizações17 slides
IPsec VPNとSSL-VPNの違い por
IPsec VPNとSSL-VPNの違いIPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い富士通クラウドテクノロジーズ株式会社
606 visualizações8 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 visualizações12 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 visualizações26 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 por
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 visualizações22 slides

Último(7)

定例会スライド_キャチs 公開用.pdf por Keio Robotics Association
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association146 visualizações
光コラボは契約してはいけない por Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 visualizações
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium66 visualizações
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 por Hitachi, Ltd. OSS Solution Center.
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium28 visualizações

Recoilライブラリを 触ってみる