Реагирует на производительность ловушки useState на больших объектах - PullRequest
0 голосов
/ 14 января 2020

Я новичок в React и создаю приложение, в котором я использую довольно большое состояние с частыми обновлениями. Использование useState() Я понимаю, что он будет заменять весь объект при каждом обновлении. Если это означает, что он сделает полную копию объекта, в случае m произойдет серьезное снижение производительности. Если это какая-то ленивая оценка, я думаю, что все будет в порядке, поэтому мой вопрос.

Наоборот, если бы я использовал метод setState(), основанный на старом классе, я мог бы обновить только необходимые части состояния. Например, моя структура данных выглядит примерно так:

{
    'data0': { ... some not very deep object ...},
    'data1': { ... },
    'data2': { ... },
    ...,
    'dataN': { ... },
}

, где я потенциально могу иметь тысячи data объектов. Так как объекты data довольно малы, замена их при необходимости - это не столько снижение производительности, которое вполне выполнимо с setState() в классе, но как это будет работать при использовании ловушки useState()?

1 Ответ

0 голосов
/ 14 января 2020

U может распространить предыдущее состояние с помощью usestate, и вы получите тот же результат, что и setstate

Usestate([
 ...state,
    Data6
])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...