React-window: stateupdateはリストを一番上にスクロールします

作成日 2018年12月25日  ·  3コメント  ·  ソース: bvaughn/react-window

こんにちは、私はこのリストを使用してチャットメッセージを表示しています(変数リストは適切です)。状態の更新を取得したとき、つまり、なぜそうなのか疑問に思います。 ユーザーが何かを入力すると、リストが一番上にスクロールします。

私はref scrollToItem知っていますが、それはきびきびしています(最初に上にスクロールしてから、アイテムにすばやくスクロールします)。 initialScrollOffset99999に設定すると効果があるようですが、ここで何か間違ったことをしていると確信していますか? 3

最も参考になるコメント

最終的にそれを修正しました。 react-virtualizedAutoSizer似たコンポーネントでリストをラップしていたため、リストは再レンダリングされ続けました。 私はそれをアンラップし、代わりにローカルコンポーネントの状態を使用してその部分の自動サイズを設定することになりました。

なぜそれが起こるのか分かりませんが、今重要なのはそれが実際に正常に機能することです。メッセージのステータスをsentからdelivered更新することもでき、リストは予期せずどこにもスクロールしません-非常に美しい。

このコンポーネントをありがとう、それは地獄のように完璧です!

全てのコメント3件

この問題はあなたの問題に関連していると思います。
https://github.com/bvaughn/react-window/issues/105

ダンこれはクレイジーです、応答する仲間に感謝します。

  1. 別のコンポーネントとしてラップし、代わりにshouldComponentUpdateを使用することで回避できますか?
  2. 「送信済み」や「配信済み」などのメッセージステータスなどのマイナーな状態更新を取得しました。これは、私の理解によれば、再レンダリングが必要です。ユーザーエクスペリエンスに影響を与えないように、少なくともスクロール位置を保持する方法はありますか?

最終的にそれを修正しました。 react-virtualizedAutoSizer似たコンポーネントでリストをラップしていたため、リストは再レンダリングされ続けました。 私はそれをアンラップし、代わりにローカルコンポーネントの状態を使用してその部分の自動サイズを設定することになりました。

なぜそれが起こるのか分かりませんが、今重要なのはそれが実際に正常に機能することです。メッセージのステータスをsentからdelivered更新することもでき、リストは予期せずどこにもスクロールしません-非常に美しい。

このコンポーネントをありがとう、それは地獄のように完璧です!

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

delateurj picture delateurj  ·  3コメント

marian-c picture marian-c  ·  3コメント

maynir picture maynir  ·  4コメント

ivan-badmaev picture ivan-badmaev  ·  3コメント

ajayns picture ajayns  ·  3コメント