Как изменить некоторые компоненты, но не все?
У меня есть объект из редукса с фотографией, которую я рендерил в компоненте собственного класса реакции.
Каждый раз, когда я обновляю состояние связанного компонента класса для другого объекта, изображение объекта, полученного из-за избыточности, перезагружается.
Как я мог избежать этого?
Я подумал, что использование redux позволит избежать повторного рендеринга объекта при обновлении состояния.
1 ответ
Всякий раз, когда состояние компонента изменяется, компонент перерисовывается, что является основной идеологией реагирования. Вы можете поставить условия в shouldComponentUpdate()
ограничить количество раз, которое компонент должен повторно выполнить. Эта функция позволяет вам выполнять условный повторный рендеринг компонента вместо повторного рендеринга каждый раз при изменении состояния.
Вот ссылка: https://facebook.github.io/react/docs/react-component.html
Для повторного рендеринга одного элемента в компоненте вы можете использовать ключи, которые должны быть уникальными для каждого родственного элемента в компоненте. С помощью этих ключей React распознает, какие элементы были изменены, и что необходимо выполнить повторную визуализацию вместо повторной визуализации всего компонента.
Вот ссылка: https://facebook.github.io/react/docs/lists-and-keys.html