Проверяет понимание механизма ререндеров в React при изменении пропсов.
Изменение props вызывает ререндер компонента. По умолчанию при ререндере родителя ререндерятся и его дочерние компоненты, даже если их props не изменились. Чтобы этого избежать, используют мемоизацию (React.memo, shouldComponentUpdate, PureComponent).
Если родительский компонент обновляет пропсы, дочерний компонент ререндерится.
Пример:
function Parent() {
const [count, setCount] = useState(0);
return <Child value={count} />; // Child ререндерится при каждом изменении count
}React.memo (для функциональных компонентов):
const Child = React.memo(({ value }) => {
return <div>{value}</div>;
});shouldComponentUpdate (для классовых компонентов):
class Child extends React.Component {
shouldComponentUpdate(nextProps) {
return nextProps.value !== this.props.value; // Ререндерим, только если value изменилось
}
render() { ... }
}Если пропс ссылочно тот же (например, объект не изменился, хотя его внутренности могли).
Если компонент не использует пропс в render().
Итог:
Пропсы по умолчанию вызывают ререндер.
Можно оптимизировать через React.memo или shouldComponentUpdate.