adding table debouncing

Summary:
When changing the props of a table often, this might results in a lot of unnecessary rerenders. This could be mostly seen in the analytics plugin, which is sending a lot of messages in a short time.

The update of the table component is now debounced to only re-render every 150ms. This also affects searching and filtering and makes typing in the search input smoother.

Reviewed By: passy

Differential Revision: D9447722

fbshipit-source-id: 00e092e4e047e9c40e5a1ec2789644858acc18dd
This commit is contained in:
Daniel Büchele
2018-08-23 04:43:53 -07:00
committed by Facebook Github Bot
parent 1891e2c869
commit 7bdb21e055
7 changed files with 118 additions and 35 deletions

View File

@@ -0,0 +1,33 @@
// flow-typed signature: 95241cb8305cb4cbda994a489dff963f
// flow-typed version: <<STUB>>/lodash.debounce_v4.0.8/flow_v0.76.0
/**
* This is an autogenerated libdef stub for:
*
* 'lodash.debounce'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'lodash.debounce' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
// Filename aliases
declare module 'lodash.debounce/index' {
declare module.exports: $Exports<'lodash.debounce'>;
}
declare module 'lodash.debounce/index.js' {
declare module.exports: $Exports<'lodash.debounce'>;
}

View File

@@ -0,0 +1,32 @@
// flow-typed signature: 8416c078446255c2792e5980fa4c381c
// flow-typed version: <<STUB>>/react-debounce-render_v4.0.3/flow_v0.76.0
/**
* This is an autogenerated libdef stub for:
*
* 'react-debounce-render'
*
* Fill this stub out by replacing all the `any` types.
*
* Once filled out, we encourage you to share your work with the
* community by sending a pull request to:
* https://github.com/flowtype/flow-typed
*/
declare module 'react-debounce-render' {
declare module.exports: any;
}
/**
* We include stubs for each file inside this npm package in case you need to
* require those files directly. Feel free to delete any files that aren't
* needed.
*/
declare module 'react-debounce-render/lib/index' {
declare module.exports: any;
}
// Filename aliases
declare module 'react-debounce-render/lib/index.js' {
declare module.exports: $Exports<'react-debounce-render/lib/index'>;
}