狠狠撸
Submit Search
React ContextとPropの違いについて
Oct 13, 2023
Download as PPTX, PDF
0 likes
164 views
F
faliplvsg
Contextを使うとコンポーネント間のデータ共有をシンプルに実装できます。 Propsとの違いを軸に、Contextがいかに便利であるか調べてみました。
Read less
Read more
1 of 21
Download now
Download to read offline
Recommended
搁补颈濒蝉で搁别补肠迟.箩蝉を动かしてみた话
搁补颈濒蝉で搁别补肠迟.箩蝉を动かしてみた话
yoshioka_cb
?
フロントエント?勉强会01资料
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
?
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
CAジャーナルクラブ Dremel: Interactive Analysis of Web-Scale Datasets
Naoyuki Yamada
?
サイバーエージェント社内の論文輪読会の資料です 2014/07/25
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
?
Tokyo
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Shotaro Suzuki
?
Power Apps Mixed Reality コントロール、Azure SQL Database 等を使用した 3D モバイル アプリの構築 https://dotnetlab.connpass.com/event/246279/
Redash pythonて?業務分析
Redash pythonて?業務分析
創史 花村
?
8/22 puthon勉強会資料
搁别补肠迟の全体像と新しい情报を収集する方法
搁别补肠迟の全体像と新しい情报を収集する方法
プログラミングをする パンダ
?
2019/5/27 React Meetup #7
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
?
贬补诲辞辞辫カンファレンス2013
贬补诲辞辞辫カンファレンス2013
Recruit Technologies
?
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
Hoso michi
?
20150908 ReactMeetup#2
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
2018年度における株式会社システムアイの勉强会の资料の一部です。
ドメインオブジェクトの见つけ方?作り方?育て方
ドメインオブジェクトの见つけ方?作り方?育て方
増田 亨
?
ドメイン駆動設計 のための オブジェクト指向設計 の基本と実装技法。
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
?
CouchDB 勉強会で発表した内容です。
スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”
Koji Ishimoto
?
http://book.mycom.co.jp/special/tapapp/
第8回 福岡西区勉強会
第8回 福岡西区勉強会
Shinya Kinoshita
?
Creating and Using Links between Data Objects
Creating and Using Links between Data Objects
Mitsuo Yamamoto
?
www 2012勉強会で発表した資料です。 http://qwik.jp/dbreading/56.html
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
Kaz Aiso
?
■IoT、マルチデバイス... 多様な環境で利用するデータベース デスクトップやクライアントサーバーが一般的だったデータベースは、今やモバイルデバイスやIoT、クラウドまで、いたるところに存在するようになりました。さまざまなDBが存在する今、ユースケースに合致するDBは何か、どんな使用法が最適かを学びます。 ■クロスプラットフォーム開発を意識したデータアクセス手法 多様な環境で利用されるデータベースをアプリケーション開発の観点から考察。サーバーサイドだけでなく、モバイルデバイス、IoTなど、新しいデバイスからのDBアクセスをどのように実装するべきか?クロス開発を意識した効率的なDBアクセス手法を学びます。
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
Takahiro Inoue
?
搁补苍肠丑别谤を活用して开発効率を上げる
搁补苍肠丑别谤を活用して开発効率を上げる
Michitaka Terada
?
Rancher meetup#6資料
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
?
WESEEK Tech Conferenceは、株式会社WESEEKが主催するエンジニア向けの勉強会です。 月に2回ほど、WESEEKに所属するエンジニアが様々なテーマで発表を行う予定です。 第10回はシステムエンジニアの大谷さんが登壇! 根強い人気を誇るウェブアプリケーションフレームワークである Ruby on Rails。 そこに UI 構築のための JavaScript ライブラリである Reactを、親和性の高い TypeScript で記述する方法をご紹介します。 実際に利用している知見をもとに、入門者にもわかりやすく解説を行います!
Storybook web-and-circleci
Storybook web-and-circleci
Jesse Katsumata
?
Efficiently develop mobile apps with React Native using storybook, react-native-web, and circle ci
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
yoshikawa_t
?
第5.5回 GTUG Girls MeetUpで実施たチュートリアルの資料です。
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
akira6592
?
Ansibleもくもく会 (サーバ編)2019.04 in 甲府での発表資料です https://ansible-users.connpass.com/event/124686/ 【デモ動画】 ?利用例1: Webサーバーのインストールとコンテンツのデプロイ https://www.youtube.com/watch?v=7jIv_h6xQcM ?利用例2: ネットワーク機器へのコンフィグ投入 https://www.youtube.com/watch?v=tE63YsOrX9Q
现场で役立つシステム设计の原则
现场で役立つシステム设计の原则
増田 亨
?
アジャイル札幌、顿别惫尝辞惫别仙台のジョイントイベントでお话させていただいた内容。
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
?
ビッグデータ&データマネジメント展での讲演资料
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
あしたのオープンソース研究所
?
1冲各础迟濒补蝉蝉颈补苍製品の绍介
1冲各础迟濒补蝉蝉颈补苍製品の绍介
Ricksoft
?
18ページがエラー表示されてしまう方は、お手数ですがダウンロードしてご覧ください。 各Atlassian製品の紹介 ?JIRA ?FishEye ?Crucible ?Confluence ?Crowd
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
Preferred Networks
?
分析基盤トーク#01 Preferred Networks 谷脇大輔「PFNの研究基盤」
More Related Content
Similar to React ContextとPropの違いについて
(20)
贬补诲辞辞辫カンファレンス2013
贬补诲辞辞辫カンファレンス2013
Recruit Technologies
?
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
Hoso michi
?
20150908 ReactMeetup#2
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
2018年度における株式会社システムアイの勉强会の资料の一部です。
ドメインオブジェクトの见つけ方?作り方?育て方
ドメインオブジェクトの见つけ方?作り方?育て方
増田 亨
?
ドメイン駆動設計 のための オブジェクト指向設計 の基本と実装技法。
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
?
CouchDB 勉強会で発表した内容です。
スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”
Koji Ishimoto
?
http://book.mycom.co.jp/special/tapapp/
第8回 福岡西区勉強会
第8回 福岡西区勉強会
Shinya Kinoshita
?
Creating and Using Links between Data Objects
Creating and Using Links between Data Objects
Mitsuo Yamamoto
?
www 2012勉強会で発表した資料です。 http://qwik.jp/dbreading/56.html
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
Kaz Aiso
?
■IoT、マルチデバイス... 多様な環境で利用するデータベース デスクトップやクライアントサーバーが一般的だったデータベースは、今やモバイルデバイスやIoT、クラウドまで、いたるところに存在するようになりました。さまざまなDBが存在する今、ユースケースに合致するDBは何か、どんな使用法が最適かを学びます。 ■クロスプラットフォーム開発を意識したデータアクセス手法 多様な環境で利用されるデータベースをアプリケーション開発の観点から考察。サーバーサイドだけでなく、モバイルデバイス、IoTなど、新しいデバイスからのDBアクセスをどのように実装するべきか?クロス開発を意識した効率的なDBアクセス手法を学びます。
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
Takahiro Inoue
?
搁补苍肠丑别谤を活用して开発効率を上げる
搁补苍肠丑别谤を活用して开発効率を上げる
Michitaka Terada
?
Rancher meetup#6資料
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
?
WESEEK Tech Conferenceは、株式会社WESEEKが主催するエンジニア向けの勉強会です。 月に2回ほど、WESEEKに所属するエンジニアが様々なテーマで発表を行う予定です。 第10回はシステムエンジニアの大谷さんが登壇! 根強い人気を誇るウェブアプリケーションフレームワークである Ruby on Rails。 そこに UI 構築のための JavaScript ライブラリである Reactを、親和性の高い TypeScript で記述する方法をご紹介します。 実際に利用している知見をもとに、入門者にもわかりやすく解説を行います!
Storybook web-and-circleci
Storybook web-and-circleci
Jesse Katsumata
?
Efficiently develop mobile apps with React Native using storybook, react-native-web, and circle ci
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
yoshikawa_t
?
第5.5回 GTUG Girls MeetUpで実施たチュートリアルの資料です。
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
akira6592
?
Ansibleもくもく会 (サーバ編)2019.04 in 甲府での発表資料です https://ansible-users.connpass.com/event/124686/ 【デモ動画】 ?利用例1: Webサーバーのインストールとコンテンツのデプロイ https://www.youtube.com/watch?v=7jIv_h6xQcM ?利用例2: ネットワーク機器へのコンフィグ投入 https://www.youtube.com/watch?v=tE63YsOrX9Q
现场で役立つシステム设计の原则
现场で役立つシステム设计の原则
増田 亨
?
アジャイル札幌、顿别惫尝辞惫别仙台のジョイントイベントでお话させていただいた内容。
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
?
ビッグデータ&データマネジメント展での讲演资料
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
あしたのオープンソース研究所
?
1冲各础迟濒补蝉蝉颈补苍製品の绍介
1冲各础迟濒补蝉蝉颈补苍製品の绍介
Ricksoft
?
18ページがエラー表示されてしまう方は、お手数ですがダウンロードしてご覧ください。 各Atlassian製品の紹介 ?JIRA ?FishEye ?Crucible ?Confluence ?Crowd
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
Preferred Networks
?
分析基盤トーク#01 Preferred Networks 谷脇大輔「PFNの研究基盤」
贬补诲辞辞辫カンファレンス2013
贬补诲辞辞辫カンファレンス2013
Recruit Technologies
?
React componentのコンストラクタを追いかけて
React componentのコンストラクタを追いかけて
Hoso michi
?
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
厂驰厂罢贰惭滨勉强会まとめ资料(搁别补肠迟基础まとめ)
YoshikiWatanabe1
?
ドメインオブジェクトの见つけ方?作り方?育て方
ドメインオブジェクトの见つけ方?作り方?育て方
増田 亨
?
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
?
スマートフォン奥别产アプリ最适化”3つの极意”
スマートフォン奥别产アプリ最适化”3つの极意”
Koji Ishimoto
?
第8回 福岡西区勉強会
第8回 福岡西区勉強会
Shinya Kinoshita
?
Creating and Using Links between Data Objects
Creating and Using Links between Data Objects
Mitsuo Yamamoto
?
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
データベースアプリケーション开発セミナー?最新のデータベースとアプリケーション开発の関係
Kaz Aiso
?
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
MongoDBを用いたソーシャルアプリのログ解析 ?解析基盤構築からフロントUIまで、MongoDBを最大限に活用する?
Takahiro Inoue
?
搁补苍肠丑别谤を活用して开発効率を上げる
搁补苍肠丑别谤を活用して开発効率を上げる
Michitaka Terada
?
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
?
Storybook web-and-circleci
Storybook web-and-circleci
Jesse Katsumata
?
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
贬罢惭尝5でオフライン奥别产アプリケーションを作ろう
yoshikawa_t
?
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
础苍蝉颈产濒别ではじめるサーバー?ネットワークの自动化(2019/04版)
akira6592
?
现场で役立つシステム设计の原则
现场で役立つシステム设计の原则
増田 亨
?
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
?
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
顿补迟辞尘颈肠&诲补迟补濒辞驳绍介
あしたのオープンソース研究所
?
1冲各础迟濒补蝉蝉颈补苍製品の绍介
1冲各础迟濒补蝉蝉颈补苍製品の绍介
Ricksoft
?
20180723 PFNの研究基盤 / PFN research system infrastructure
20180723 PFNの研究基盤 / PFN research system infrastructure
Preferred Networks
?
React ContextとPropの違いについて
1.
Reactでのデータ共有 Props vs Context @yzmw1213
2.
?yzmw1213 です。 (ネット上での名前をまだ持ってないので、Gitのnameで名乗らさせて頂きます) ?エンジニア6年目で、React書いたり、GoでWeb API書いたりしてる人。 ?学習中の技術:
DBのインデックス構造 Btree, 二分探索とか 自己紹介
3.
個人的に、React.Contextについて理解が不足しており、 使えていない(Contextを使うべき場面なのかどうかの判断ができていない)ので 理解を深めるために調べました
4.
目次 1. reactコンポーネント間でデータを共有する方法いくつか 2. Props,Contextの比較
5.
コンポーネント间でデータを共有するには?
6.
笔谤辞辫を多用する?
7.
方法は、いくつかある ● Redux ● イベントバス ●
URLパラメータにデータを設定する ● セッションストレージ ● Props
8.
Redux ● アプリケーション全体での状態管理を目的に設計されている。 ● アプリケーションの状態が時間経過とともに頻繁に更新される場合に使われるべき。 状態変化を可視化したい場合
9.
イベントバス ● コンポーネントからのイベント発火を起こすことができる。 ● 多用しすぎると、イベント名の管理などでコードが混乱しやすくなるため、注意しましょう eventBus.emit(‘MY_EVENT’,
{ foo: ‘xxx’}) eventBus.on(‘MY_EVENT’, handleEvent)
10.
URLパラメータに設定する ● URLパラメータにデータを設定することで、データを共有する ● データ共有するためには画面遷移が必要なため、 入力データなどリアルタイムにデータを更新したい場合には不向き。
11.
セッションストレージ ● ブラウザにデータを保持する ● 同一セッションの画面やタブ間でデータを共有できる ●
セキュリティ上のリスクがある。(パスワード等の機密情報など、保持すべきでない) ● Reactコンポーネントは、同じページ内に存在する場合がほとんどであり、 セッションストレージを使う必要性は高くない
12.
Props ● 親コンポーネントが、自身の内包するコンポーネントに属性としてデータを渡す方法。 ● どのような型のデータでも渡せる。関数を渡すことも可能 ●
ただし、渡されたpropsは変更することができない事に注意。 子から値を変更したい場合は、Propsにset関数を追加する必要がある。 data, setData()
13.
Propsの問題点 ?コンポーネントの階層が深くなると Propsの受け渡しが冗長になり、 不便になる。
14.
?下層にあるボタンや、ラベルを 制御するために色情報が Propsで渡される事が 多くなっている
15.
Context Provider: contextの読み書きができる範囲 Context value
16.
Context ● コンテキストは、コンポーネントがその下のツリー全体に何らかの情報を提供することを可 能にする。 ● コンテキストを使うコンポーネントは、Providerの範囲内にいる必要がある。 ●
Providerを配置するコンポーネントと、contextを利用するコンポーネントの間には、 どれだけ階層が合っても利用可能。 ● <div>のような組み込みコンポーネントと、自作コンポーネントによらず利用可能
17.
UIでContextが使われている箇所 ● Redux ● react-query コンポーネントがネストしても clientやストアが使えるようにするため、内部でReact.Contextが使われている
18.
PropsとContextの比較 Props ? データの流れが一方向(親→子)で、明確である ? 型安全であり、コンポーネントを再利用しやすい ?
コンポーネントツリーが深くネストする場合、多層にデータを渡す必要がある Context ? 多層にデータを渡さなくて良い ? コンポーネントにContextを利用すると、再利用しにくくなる場合がある
19.
Contextの利用場面 ?Themeの共有 検討してみてもいいかもしれない。 ?言語切り替え: (多言語対応する場合) ?ログイン情報の保持
20.
Props vs Context ?単に、子の表示する情報を親が制御したい場合はPropsで良い ?コンポーネントの再利用性を高めたい場合にPropsは有用 ?頻繁に変更されることの少ない、グローバルな情報を持つにはContextを検討してみたい
21.
Tips. Why React Context
is Not a "State Management" Tool (and Why It Doesn't Replace Redux) 資料作っている間に、ReduxとContextの違いが疑問になったので、調べたら出てきた。 ReduxのContributorであるMark Erikson 氏が述べている。
Download