Да, по умолчанию будут перерисованы все вложенные дочерние компоненты. Однако под капотом реагирования применяется дифференцирующий алгоритм, чтобы определить, какие узлы DOM необходимо окончательно обновить. В большинстве случаев это различие достаточно и достаточно быстро. Если вы испытываете проблемы с производительностью, взгляните на метод жизненного цикла shouldComponentUpdate()
, где вы можете определить, будет ли компонент (и его дочерние элементы) перерисован или нет.
Например, если вы хотите перерисовать компонент только тогда, когда myProp
изменится:
shouldComponentUpdate(nextProps, nextState) {
if (this.props.myProp !== nextProps.myProp) {
return true
}
return false
}