LoginSignup
5
1

More than 3 years have passed since last update.

react-infinite-scroll-componentでうまくスクロールできないときの対処法

Last updated at Posted at 2019-07-13

Reactで無限スクロールを実現するものにreact-infinite-scroll-componentというシンプルなコンポーネントがあります。
Github: ankeetmaini/react-infinite-scroll-component

とてもシンプルで使いやすいのですが、

  • 親要素の高さが十分でないと機能しない
  • <InfiniteScroll>のなかにコンテンツ以外の枠などが含まれているとうまく動作しない

などのデメリットもあります。

そして今日ぶつかったバグは、画像のようにiOSのSafariにおいてうまくスクロールできない症状です。
infinite-scroll.gif
ちょっと分かりづらいですが、最初のタッチで引っかかる感じです。

##解決した方法
以下のスクリプトをhtmlに追加しました。

<script>
	document.addEventListener("DOMContentLoaded", function(event) {
	   document.querySelector('.infinite-scroll-component ').removeAttribute('style')
	});
</script>

問題は、クラスinfinite-scroll-component -webkit-overflow-scrolling: touch;というスタイルを持っているから起きているようでした。なので、style属性丸ごと削除しています。

githubにissue投げろよという感じですが、とりあえず自分用のメモと、同じバグで悩む日本人を救えればという思いです。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1