ガイドに従って、ライブラリ( react-window
、 react-window-infinite-loader
)で無限スクロールを実装しましたが、正常に動作しますが、テストに問題があります。 コンポーネントをテストしようとすると、 FixedSizeList
中に何もないという問題が発生しました。 ドキュメントでテストについて何も見つかりませんでした。 それはバグですか、それとも私は何かを逃しましたか?
私は同じ問題を抱えています。 最初は、 AutoSizer
正しくモックしていなかったためだと思いましたが、テストで正しいwidth
とheight
小道具、およびFixedSizeList
受け取っていることを確認しました。
ここでVariableSizeGrid
と同じ問題があります。理由がわからないテストでは、コンテナーが空です。
元のreact-virtualized
ライブラリ(https://github.com/bvaughn/react-virtualized)のAutoSIzer
を使用すると、機能します。
このライブラリ: https :
もしそうなら、たぶん元のreact-virtualized
ライブラリを使用する必要があります...
@bvaughn
何か案は?
autoSizerをモックしようとしましたかjest.mock('react-virtualized-auto-sizer', () => ({ children }: any) => children({ height: 600, width: 600 }));
しかし、なぜ私はそれをあざける必要があるのですか? 「元の」AutoSizerと別のライブラリに存在するAutoSizerの違いを理解しようとしていますか?
幅または高さが0の場合、子がレンダリングされないようにする条件があります
https://github.com/bvaughn/react-virtualized-auto-sizer/blob/ffcba2dd39b89111ed4b42d64431f35ce7c1c23a/src/index.js#L123
テストにjest-domを使用しているため、計算は行われず、高さと幅は常に0になります。
元のAutoSizerでは、この条件は存在しないため、子は常にレンダリングされます。
@haithemTはあなたを取得します、それをありがとう!
私はあなたが言うようにそれをあざけるだけで、それは機能します。
2年間更新されないライブラリ(オートサイザー)と、しばらく更新されていないreact-windowライブラリを使用するのが正しいかどうかだけを考えます
どう思いますか?
正直なところ、私は最初のリリースからこのライブラリを使用しており、これまでブロッキングの問題は発生しませんでした。他の新しいライブラリをいくつか試しましたが、このようなパフォーマンスの高いライブラリはありませんでした。
最も参考になるコメント
autoSizerをモックしようとしましたか
jest.mock('react-virtualized-auto-sizer', () => ({ children }: any) => children({ height: 600, width: 600 }));