前提・実現したいこと
Reactを使って以下のようにスクロールでstateが更新されるようなロジックを作りたいと思います。
イメージとしては見出しが画面から外れた時に現状の state + 1
で今の番号を定義か、
body内にある見出し要素の中で最も高い位置にある要素を取るかどちらかですが、ロジックが思い付かず質問いたしました。
難しいと感じているのは以下の2つです
- state更新のタイミング
- 要素の数が可変であること
具体的な相談内容
state更新のロジック
jQueryであれば、全ての見出しの同じクラスを振っておき、 body
内にあるもので最も上部にある要素のidで判別すればよいと思いますが、reactの場合 React.createRef()
だと同じことができずに困っています。
要素が可変
要素の数は固定ではなく、4〜20の可変なので、stete更新ロジックとも被る問題ですが、各見出し要素の位置を個別に捉えるためのロジックが思い付かず困っています。
ロジックが思い付かず、書いたコードを提示できず申し訳ない質問ですが、もしヒントや何か参考になりそうなリンクがあれば、教えていただけると大変ありがたいです。
どうぞよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
- react: 16.8
- 当質問はクラスコンポーネントへの実装を考えております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/19 04:43