ریاکتجیاس - ریاکت TSX - استفاده از عبارت لامبدا در خصوصیت عنصر ریاکت


من یک دکمه تقسیمشده دارم و میخواهم از یک عبارت لامبدا در برچسب آن به این صورت استفاده کنم:

<SplitButton
  options={[
    {
      label: (  
            {hasValues && isSelected.length === 0 ? (
             <FormattedMessage defaultMessage = "Text A"/>
                ) : (
             <FormattedMessage defaultMessage = "Text B"/>
                )}      
      ),
      value: "myValue",
    }, ]}
/>

با این حال، این به من خطا میدهد که میگوید «مقدار ویژگی در نوع {label: JSX.Element} وجود ندارد اما در نوع {label: ReactNode; value: string} الزامی است.»

آیا روشی وجود دارد که بتوان عبارت Lambda را به عنوان یک Prop در یک عنصر React استفاده کرد؟

پاسخ شماره ۱

نیازی به انجام label: ({...}) نیست، {} اینجا کد را به هم ریختهاند.

به جای آن این را استفاده کنید:

<SplitButton
  options={[
    {
      label:
        hasValues && isSelected.length === 0 ? (
          <FormattedMessage defaultMessage="Text A" />
        ) : (
          <FormattedMessage defaultMessage="Text B" />
        ),
      value: "myValue",
    },
  ]}
/>