meliorence / meliorence/react-native-snap-carousel

Infinite rendering problem when loop={true} && loopClonesPerSide={4} && data.length === 2

オープン
#653 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
JavaScript
スター
10.5k
フォーク
2.3k
PR マージ指標
30日以内にマージされた PR はありません

説明

Description

This is a bug report, reproducible both on Android and iOS.

When loop={true} and loopClonesPerSide={4}, it triggers infinite rendering problem when the data length is exactly equal to 2.

I did not observe this behavior on any other values of the above parameters.

Library Version

"react-native-snap-carousel": "3.8.4"

React-native Info

System:
OS: macOS 10.15.3
CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Memory: 125.14 MB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 11.13.0 - ~/.nvm/versions/node/v11.13.0/bin/node
Yarn: 1.21.1 - /usr/local/bin/yarn
npm: 6.11.2 - ~/.nvm/versions/node/v11.13.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
Android NDK: 21.0.6113669
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
npmPackages:
react-native: 0.61.5 => 0.61.5
npmGlobalPackages:
react-native-cli: 2.0.1

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

loop={true}、loopClonesPerSide={4}、データ項目がちょうど2つの構成を使用して、Android と iOS の両方で react-native-snap-carousel 3.8.4 の問題を再現します。この構成から carousel の実装を追跡し、レンダリングが終了しなくなる箇所を特定します。2項目の構成が無限のレンダリングループなしでレンダリングされ、既存の loop の動作が維持されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, react-native
領域
mobile
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。