Page MenuHomePhabricator

[native] Pull static fns out of `ChatThreadList` to `ChatThreadListUtils`

Authored by atul on Mon, Sep 11, 3:21 PM.
Referenced Files
Unknown Object (File)
Mon, Sep 25, 12:13 AM
Unknown Object (File)
Sun, Sep 24, 3:56 PM
Unknown Object (File)
Wed, Sep 20, 3:17 AM



There are a handful of static functions in the ChatThreadList component. Figured I'd move these out to a separate utils file.

(I initially had a huge diff that converted ChatThreadList to a functional component and added various memoizations. However, I realized that diff would be pretty difficult to review so I'm breaking down the refactor into hopefully easier to review pieces.)

This diff is just one step in the process of converting ChatThreadList into a functional component. When this work is done, we will be able to avoid a lot of re-rendering and hopefully improve performance quite a bit.

In subsequent diffs will

  1. Lift up "search-related" JSX
  2. etc.. continue turning ChatThreadList into a functional component so we can more precisely memoize things, particularly ChatThreadListItems.

Depends on D9134

Test Plan

Search experience continues to work as expected. Can search for users/threads/etc. as before.

Diff Detail

rCOMM Comm
Lint Not Applicable
Tests Not Applicable

Event Timeline

atul published this revision for review.Mon, Sep 11, 3:22 PM
atul added inline comments.
34–38 ↗(On Diff #30943)

This was originally

let height = chatThreadListItemHeight;
height += item.sidebars.length * sidebarHeight;
if (item.sidebars.length > 0) {
  height += spacerHeight;
return height;

Took some liberties in rewriting to my personal preference, but can totally revert back

This revision is now accepted and ready to land.Tue, Sep 12, 9:34 PM