Какие данные заносить в state? React

Какие данные следует заносить в состояние компонента, а какие - нет?

Например, есть таблица с фильтром, есть переменная _maxPage, хранящая кол-во отображённых ячеек таблицы при выборе фильтра.
Есть переменная-буфер для таблицы, дабы не изменять начальные данные при фильтрации.

Что из перечисленного хранить в состоянии компонента, и почему?
Правильно ли понимаю, что только таблицу и фильтр, а буфер и _maxPage можно объявить вообще за пределами классового компонента и изменять в процессе выполнения кода?


Ответы (1 шт):

Автор решения: Sergei Kirjanov

В стейте я храню минимум -- то, что не вычисляется из чего-то еще.

Стейт меняется акшном. Из стейта вычисляется всё , что можно, на рендере. Тяжелые вычисления мемоизируются.

Значения в фильтре, данные с сервера, текущая страница (для набора значений) -- выглядит как стейт.

Для того, что за пределами, не будет работать ререндер. По умолчанию я бы так не делал. Только в качестве своевременной оптимизации.

→ Ссылка