Búsqueda de sitios web

reactjs - React TSX - Usar expresión Lambda en la propiedad de un elemento de React


Tengo un SplitButton y quiero usar una expresión Lambda en la etiqueta así:

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

Sin embargo, eso me está dando un error que dice "Falta el valor de la propiedad en el tipo {label: JSX.Element} pero es obligatorio en el tipo {label: ReactNode; value: string}."

¿Hay alguna manera de hacer que la expresión Lambda funcione como una Prop en un elemento de React?

Respuesta #1

No hay necesidad de hacer label: ({...}), {} están estropeando el código aquí.

Usa esto en su lugar:

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