Sobes.tech
Middle+

Jak zajistit, aby komponent s 5 props ignoroval změny tří z nich a byl znovu vykreslen pouze při změně dvou?

sobes.tech AI

Odpověď od AI

Чтобы компонент с 5 пропсами перерендеривался только при изменении двух из них, можно использовать кастомное сравнение пропсов. Например, в React это делается с помощью React.memo и функции сравнения:

const MyComponent = React.memo(function MyComponent(props) {
  // компонент использует props.a и props.b
}, (prevProps, nextProps) => {
  // игнорируем изменения props.c, props.d, props.e
  return prevProps.a === nextProps.a && prevProps.b === nextProps.b;
});

Таким образом, компонент будет перерендериваться только если изменятся a или b. Это повышает производительность, избегая лишних рендеров при изменении несущественных пропсов.