Как изменить некоторые компоненты, но не все?

У меня есть объект из редукса с фотографией, которую я рендерил в компоненте собственного класса реакции.

Каждый раз, когда я обновляю состояние связанного компонента класса для другого объекта, изображение объекта, полученного из-за избыточности, перезагружается.

Как я мог избежать этого?

Я подумал, что использование redux позволит избежать повторного рендеринга объекта при обновлении состояния.

1 ответ

Решение

Всякий раз, когда состояние компонента изменяется, компонент перерисовывается, что является основной идеологией реагирования. Вы можете поставить условия в shouldComponentUpdate() ограничить количество раз, которое компонент должен повторно выполнить. Эта функция позволяет вам выполнять условный повторный рендеринг компонента вместо повторного рендеринга каждый раз при изменении состояния.

Вот ссылка: https://facebook.github.io/react/docs/react-component.html

Для повторного рендеринга одного элемента в компоненте вы можете использовать ключи, которые должны быть уникальными для каждого родственного элемента в компоненте. С помощью этих ключей React распознает, какие элементы были изменены, и что необходимо выполнить повторную визуализацию вместо повторной визуализации всего компонента.

Вот ссылка: https://facebook.github.io/react/docs/lists-and-keys.html

Другие вопросы по тегам