Sobes.tech
Middle+

React.memo, баъди худо, кадом аргументҳоро қабул мекунад?

sobes.tech AI

Ҷавоб аз AI

React.memo دو استدلال می‌پذیرد:

  1. جزء، که باید حافظه‌دار شود — معمولاً یک جزء تابعی.
  2. تابع مقایسه (اختیاری) — دو شیء props (prevProps و nextProps) را می‌پذیرد و اگر true برگرداند، propsها برابر در نظر گرفته می‌شوند و نیاز به رندر مجدد نیست، یا اگر false باشد، باید جزء به‌روزرسانی شود.

نمونه‌ای از استفاده با تابع مقایسه:

const MyComponent = React.memo(function MyComponent(props) {
  // رندر
}, (prevProps, nextProps) => {
  // فقط فیلدهای مورد نیاز را مقایسه می‌کنیم
  return prevProps.value === nextProps.value;
});

اگر تابع مقایسه ارائه نشود، React.memo به‌طور پیش‌فرض مقایسه سطحی props را انجام می‌دهد.