• 1403/02/15

کورلی بریس و پرانتز گذاری :

سلام و درود استاد عزیز

 

 

استاد سوالی که داشتم اینه که چرا بعضی وقتا داخل jsx وقتی از map استفاده می‌کنید پرانتز میذارید و زمانی که از filter استفاده می‌کنید از کورلی بریس؟

 

اصلا در حالت کلی کی از پرانتز استفاده می‌کنیم کی از کورلی بریس؟

  • 1403/02/15
  • ساعت 17:56

سلام دوست من

بستگی به کدی که مینویسیم داره

مثلا اگر در استفاده از map تنها یک خط قرار هست بنویسیم که این خط کد برگشت داره میتونیم بدون return در یک خط درون پارانتز قرار بدیم

در filter کردن باید شرط بدیم که بسته به فلان شرط filter انجام بشه که بیشتر از یک خط هست که باید از {} استفاده بشه


  • 1403/02/15
  • ساعت 18:16

ممنون استاد بابت پاسخگویی 

 

اون قسمت رو متوجهم که اگه تک خطی باشه چیزی نمیذاریم.

منظور من اینه که مثلا map تو jsx وقتی بیش از یک خطه چرا مینویسیم مثلا

(()<=d)map فرض کنیم داخل پرانتز چند خطیه 

 

 

ولی تو ecma script مینویسیم

 

({}<=d)map فرض کنیم داخل بریس چند خطیه

 

 

کلا وقتی چند خطیه کی از بریس استفاده می‌کنیم کی از پرانتز؟


  • 1403/02/15
  • ساعت 18:33

درون 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>  

    ))}

logo-samandehi