Sobes.tech
Middle+

Πώς να κάνετε ένα συστατικό με 5 props να αγνοεί τις αλλαγές σε τρία από αυτά και να ανανεώνεται μόνο όταν αλλάζουν δύο;

sobes.tech AI

Απάντηση από 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. Это повышает производительность, избегая лишних рендеров при изменении несущественных пропсов.