Closed5

ReactでContext APIを導入する前にやるべきprops drilling(バケツリレー)の解消法

よぺよぺ

悩み

  • コンポーネントを深くネストしたときに、下層コンポーネントまでステートや更新関数をバケツリレーするのが大変
  • リファクタリング時にバケツリレーに関わる全てのコンポーネントの修正が必要
  • 信頼できる情報源として、データおよびロジックはカスタムフック内でまとめておきたい
  • Context API以外の解決方法を模索したい
  • props drilling問題に陥らない設計パターンを見つけたい

助けてくれた記事たち

https://qiita.com/myktsk/items/5f4d443cd7e10686f189
https://zenn.dev/morinokami/books/learning-patterns-1/viewer/compound-pattern
https://zenn.dev/dekitate/articles/a4c4e6c9a05bd0#compound-component-パターンを使った実装例
https://www.asobou.co.jp/blog/web/props-drilling

よぺよぺ

解決方法

Compositionを使って親と子のコンポーネント間の距離を縮めアクセス性を確保する

よぺよぺ

props drillingの問題点

コンポーネントのネストが深すぎた場合を前提として、

  1. propsを使う子コンポーネントまでバケツリレーするのが大変である
  2. WEBアプリの規模が大きくなったときに、propsの数が増えて命名や引数の設定などメンテナンスが困難になる

よぺよぺ

解決方法: Compositionで親と子のコンポーネントの距離を縮め、子要素へのアクセスを確保する

このスクラップは1ヶ月前にクローズされました