جاوااسکریپت - اضافه کردن ویژگی بر اساس شرط به یک کامپوننت ریاکت؟


<MyComponent something={somethingIsTrue} />

چگونه something را به عنوان prop به MyComponent اضافه کنم اگر somethingIsTrue باشد؟ من هنوز نمیخواهم که something=undefined یا something=false باشد چون هنوز به MyComponent اضافه شده است. من میخواهم که

به عنوان ویژگی اضافه نشده است

اگر somethingIsTrue نادرست باشد.

پاسخ شماره ۱

من هنوز این را امتحان نکردهام اما چیزی شبیه به این باید کارساز باشد.

const conditionalProps = shouldHaveProps ? {something: somethingIsTrue} : {};

<MyComponent {...conditionalProps} />

پاسخ شماره ۲

1) شما میتوانید به این صورت عمل کنید:

دموی زنده

const something = true;
const props = something ? { something: something } : null;
return <MyComponent {...props} />;

۲) شما میتوانید مؤلفه را با آرگومان پاس دهید اگر something truthy باشد

دموی زنده

const something = true;

return something 
          ? <MyComponent something={something} /> 
          : <MyComponent />;