В комментариях и в другом ответе есть более продвинутая информация, но я хотел бы рассказать немного подробнее о том, как работает React, и о:
Может быть, если я У меня примерно такое же количество компонентов, но давайте предположим, что у меня более 15 или более с извлечением / сохранением данных, это нормально или этого следует избегать?
В React, даже если компонент "повторно отображается «... в том смысле, что его функция вызывается неоднократно ... она не« перерисовывается »в самом важном (ie. дорогом) месте: в реальном DOM. Или, скорее, он не , если , если функция возвращает что-то другое.
Таким образом, каждый раз, когда вы видите console.log
в компоненте React, он означает только виртуальный Был задействован DOM, и поэтому стоимость этого изменения на много, намного * на 1015 * ниже (опять же, при условии, что ваш компонент продолжает возвращать идентичный JSX).
Теперь, конечно, любой вызов функции по-прежнему имеет свою стоимость, и вы хотите в конечном итоге минимизировать количество раз, которое ваши компоненты визуализируют, но в то же время важно помнить слова известного программиста Дональда Кнута:
преждевременная оптимизация - это root всего зла
Если вы даже не видите ни малейшего намека на проблему с производительностью, то беспокойство о том, сколько раз компонент визуализируется в виртуальном DOM, заставляет вас упустить на некоторых из гений React: вы торгуете тоннами самого дорогого ресурса (ваше мышление) для «оптимизации производительности», которую даже человек не может наблюдать. * 1 024 *
Вместо этого вы абсолютно хотите больше узнать о библиотеке, понять, что запускает вызовы рендеринга (в основном изменяются реквизиты / состояние / контекст, но есть важные детали), и пытаетесь понять и улучшить производительность таким образом. Изучение всего, что является частью «прокачки» в React.
Но, особенно , если вы только изучаете библиотеку, вам действительно не нужно беспокоиться о повторном рендеринге. конкретный компонент несколько раз, потому что React был разработан очень умно, чтобы позволить нам сосредоточиться на том, что делают наши компоненты, а не на том, как это делается ... или, по крайней мере, большую часть времени (я, конечно, не хочу, чтобы это звучало например, React тоже «пуля производительности волхвов c».