در React، ارسال پراپسها بین کامپوننتها ممکن است در صورت ارسال دستی هر پراپرتی، طولانی و تکراری شود. عملگرهای اسپرد و رست در جاوااسکریپت این فرآیند را سادهتر و خواناتر میکنند. آنها به ما اجازه میدهند تا چندین پراپرتی را بهصورت تمیز و مؤثر مدیریت کنیم.
در ابتدا، هر پراپرتی از آیتم بهصورت جداگانه به کامپوننت Item ارسال میشود:
{list.map((item) => (
))}این روش کار میکند، اما باعث شلوغی در کامپوننت والد میشود.
میتوانیم با استفاده از {...item} کد را سادهتر کنیم:
{list.map((item) => (
))}این روش تمام پراپرتیهای آیتم را بهصورت پراپس به کامپوننت Item ارسال میکند.
برای حذف objectID از پراپسها (که فقط برای کلید استفاده میشود)، از عملگر رست استفاده میکنیم:
{list.map(({ objectID, ...item }) => (
))}اکنون objectID جدا شده و باقیماندهٔ آیتم بهصورت پراپس ارسال میشود.
در کامپوننت Item میتوانیم پراپسها را مستقیماً در امضای تابع destructure کنیم:
const Item = ({ title, url, author, num_comments, points }) => (
{title}
{author}
{num_comments}
{points}
);برای آبجکتهای تو در تو، میتوان از destructuring تو در تو استفاده کرد:
const Item = ({
item: {
title,
url,
author,
num_comments,
points,
},
}) => (...)از این روش فقط زمانی استفاده کنید که خوانایی را افزایش دهد.
عملگرهای اسپرد و رست باعث تمیزتر شدن کدهای React میشوند. از اسپرد برای ارسال همهٔ پراپرتیها، و از رست برای حذف پراپرتیهای خاص استفاده کنید. ترکیب این روشها با destructuring باعث نوشتن کدی خوانا، قابل نگهداری و حرفهای میشود — مخصوصاً در پروژههای تیمی که وضوح کد اهمیت زیادی دارد.