سلام و درود استاد عزیز
استاد سوالی که داشتم اینه که چرا بعضی وقتا داخل jsx وقتی از map استفاده میکنید پرانتز میذارید و زمانی که از filter استفاده میکنید از کورلی بریس؟
اصلا در حالت کلی کی از پرانتز استفاده میکنیم کی از کورلی بریس؟
سلام دوست من
بستگی به کدی که مینویسیم داره
مثلا اگر در استفاده از map تنها یک خط قرار هست بنویسیم که این خط کد برگشت داره میتونیم بدون return در یک خط درون پارانتز قرار بدیم
در filter کردن باید شرط بدیم که بسته به فلان شرط filter انجام بشه که بیشتر از یک خط هست که باید از {} استفاده بشه
ممنون استاد بابت پاسخگویی
اون قسمت رو متوجهم که اگه تک خطی باشه چیزی نمیذاریم.
منظور من اینه که مثلا map تو jsx وقتی بیش از یک خطه چرا مینویسیم مثلا
(()<=d)map فرض کنیم داخل پرانتز چند خطیه
ولی تو ecma script مینویسیم
({}<=d)map فرض کنیم داخل بریس چند خطیه
کلا وقتی چند خطیه کی از بریس استفاده میکنیم کی از پرانتز؟
درون jsx میتونیم به این شکل هم بنویسیم
{applicants.map(function(data) {
return (
<div>
Applicant name: {data.name}
</div>
)
})}
ولی از اونجایی که داریم jsx برگشت میدیم یا return میکنیم میتونیم return پاک کنیم و به جای {} از () استفاده کنیم به این صورت کد تمیزتری خواهیم داشت که برای اینکار باید از arrow function استفاده کنیم که این قابلیت در arrow function معرفی شد
{applicants.map((applicant) => (
<div key={applicant.id}>
<p>
Applicant Name: <span>{applicant.name}</span>
</p>
<p>
Websites built: <span>{applicant.websites}</span>
</p>
<p>Applicant location: <span>{applicant.location}</span>
</p>
</div>
))}