{"action":"created","issue":{"url":"https://api.github.com/repos/Bandwidth/shared-components/issues/81","repository_url":"https://api.github.com/repos/Bandwidth/shared-components","labels_url":"https://api.github.com/repos/Bandwidth/shared-components/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/Bandwidth/shared-components/issues/81/comments","events_url":"https://api.github.com/repos/Bandwidth/shared-components/issues/81/events","html_url":"https://github.com/Bandwidth/shared-components/issues/81","id":308573636,"number":81,"title":"Performance issue when using BulkSelect","user":{"login":"zelitzsi","id":3961037,"avatar_url":"https://avatars2.githubusercontent.com/u/3961037?v=4","gravatar_id":"","url":"https://api.github.com/users/zelitzsi","html_url":"https://github.com/zelitzsi","followers_url":"https://api.github.com/users/zelitzsi/followers","following_url":"https://api.github.com/users/zelitzsi/following{/other_user}","gists_url":"https://api.github.com/users/zelitzsi/gists{/gist_id}","starred_url":"https://api.github.com/users/zelitzsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zelitzsi/subscriptions","organizations_url":"https://api.github.com/users/zelitzsi/orgs","repos_url":"https://api.github.com/users/zelitzsi/repos","events_url":"https://api.github.com/users/zelitzsi/events{/privacy}","received_events_url":"https://api.github.com/users/zelitzsi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-26T13:32:26Z","updated_at":"2018-03-26T13:38:46Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"`BulkSelect` is not a very performant component - the major issue is that each `Item` gets a newly bound `onClick` handler on every render, which means that each `Item` will rerender every time. There are two potential fixes for this: `Item` can ignore functions for the purposes of deciding whether to rerender or `BulkSelect` can avoid binding a new `onClick` on every render (note that this would require the `onClick` function to receive which item was clicked in its arguments)."},"comment":{"url":"https://api.github.com/repos/Bandwidth/shared-components/issues/comments/376168808","html_url":"https://github.com/Bandwidth/shared-components/issues/81#issuecomment-376168808","issue_url":"https://api.github.com/repos/Bandwidth/shared-components/issues/81","id":376168808,"user":{"login":"zelitzsi","id":3961037,"avatar_url":"https://avatars2.githubusercontent.com/u/3961037?v=4","gravatar_id":"","url":"https://api.github.com/users/zelitzsi","html_url":"https://github.com/zelitzsi","followers_url":"https://api.github.com/users/zelitzsi/followers","following_url":"https://api.github.com/users/zelitzsi/following{/other_user}","gists_url":"https://api.github.com/users/zelitzsi/gists{/gist_id}","starred_url":"https://api.github.com/users/zelitzsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zelitzsi/subscriptions","organizations_url":"https://api.github.com/users/zelitzsi/orgs","repos_url":"https://api.github.com/users/zelitzsi/repos","events_url":"https://api.github.com/users/zelitzsi/events{/privacy}","received_events_url":"https://api.github.com/users/zelitzsi/received_events","type":"User","site_admin":false},"created_at":"2018-03-26T13:38:46Z","updated_at":"2018-03-26T13:38:46Z","author_association":"CONTRIBUTOR","body":"Looks like `Table` and `Pagination` may also have the same issue."}}
{"actor":{"display_login":"zelitzsi"}}