React-window: テスト

作成日 2020年04月15日  ·  7コメント  ·  ソース: bvaughn/react-window

ガイドに従って、ライブラリ( react-windowreact-window-infinite-loader )で無限スクロールを実装しましたが、正常に動作しますが、テストに問題があります。 コンポーネントをテストしようとすると、 FixedSizeList中に何もないという問題が発生しました。 ドキュメントでテストについて何も見つかりませんでした。 それはバグですか、それとも私は何かを逃しましたか?

これがcodesandboxです

最も参考になるコメント

autoSizerをモックしようとしましたか
jest.mock('react-virtualized-auto-sizer', () => ({ children }: any) => children({ height: 600, width: 600 }));

全てのコメント7件

私は同じ問題を抱えています。 最初は、 AutoSizer正しくモックしていなかったためだと思いましたが、テストで正しいwidthheight小道具、および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ライブラリを使用するのが正しいかどうかだけを考えます

どう思いますか?

正直なところ、私は最初のリリースからこのライブラリを使用しており、これまでブロッキングの問題は発生しませんでした。他の新しいライブラリをいくつか試しましたが、このようなパフォーマンスの高いライブラリはありませんでした。

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