کداکسپلور | CodeExplore
7.89K subscribers
1.91K photos
287 videos
103 files
1.64K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
💢 هوک useCallback یکی از hook های مهم React هست که برای بهبود عملکرد و بهینه سازی مصرف حافظه استفاده می‌شه. وقتی یک کامپوننت در React رندر می‌شه، توابع دیگه همیشه مجدداً ایجاد می‌شن. اگه این توابع به عنوان props به کامپوننت های دیگه منتقل بشن، هر بار که کامپوننت والد رندر می‌شه، توابع ایجاد می‌شن. این ممکنه به تکثیر روندهای غیرضروری و هدر رفت حافظه منجر بشه.

اما اینجا useCallback به کمک میاد! وقتی از useCallback استفاده می‌کنیم، یک نمونه از یک تابع ایجاد می‌کنیم و این نمونه تابع تنها زمانی تغییر می‌کنه که ورودی‌هایش تغییر کنن. این به ما این امکان رو می‌ده که از ایجاد مجدد توابع بی‌مورد در هر بار رندر جلوگیری کنیم 😃

حالا یک مثال کاربردی ببینیم. فرض کنید یک کامپوننت داریم که یک دکمه رو ارائه می‌دهد و وقتی کاربر روی اون دکمه کلیک می‌کنه، یک پیام نمایش داده می‌شه. ما می‌توانیم از useCallback برای جلوگیری از ایجاد مجدد تابع handleClick هر بار که کامپوننت رندر می‌شود، استفاده کنیم.

import React, { useCallback, useState } from 'react';

const MessageComponent = () => {
const [message, setMessage] = useState('');

const handleClick = useCallback(() => {
setMessage('Hello, World!');
}, []);

return (
<div>
<button onClick={handleClick}>Show Message</button>
<p>{message}</p>
</div>
);
};

export default MessageComponent;
در اینجا، ما از useCallback استفاده کردیم تا تضمین کنیم که handleClick تنها زمانی تغییر می‌کنه که ورودی‌هاش تغییر کنند، یعنی در این حالت ورودی‌هی ندارد و همیشه همان تابع می‌ماند.

با استفاده از useCallback می‌توانیم بهبود عملکرد کامپوننت‌های React را ببینیم و مصرف حافظه را بهینه کنیم.

#پست_پیشنهادی
#javascript #react #usecallback
☕️ @CodeExplore
11🔥6❤‍🔥3