Desde la api puedo consultar:
type que devuelve cadenas 'Tipo A' o 'Tipo B'typeXy que devuelve cadenas 'Tipo X' o 'Tipo Y'En base a esos valores, quiero crear una declaración de cambio para obtener el valor adecuado.
const getLabel = (type?: string, typeXy?: string) => { switch (type || typeXy) { case 'Type A': return labelA; case 'Type B': return labelB; case 'Type X': return labelX; case 'Type Y': return labelY; default: return ''; } }; Luego, en mi componente React, quiero pasar la función getLabel() a través de la label prop para enviar la etiqueta correcta al componente secundario.
return ( <Grid items={data?.items?.map((node) => ({ label: getLabel(node.type || node.typeXy), }))} /> );Pero, ¿cómo creo la declaración de cambio que acepta el argumento/campo A o el argumento/campo B?
Y luego, en la función, ¿puede aceptar el campo A o el campo B ( node.type o node.typeXy )?
Prueba esto (en vainilla javascript)
const getLabel = (type, typeXy) => { switch (type || typeXy) { case 'Type A': return 'labelA'; case 'Type B': return 'labelB'; case 'Type X': return 'labelX'; case 'Type Y': return 'labelY'; default: return ''; } }; console.log(getLabel('', 'Type Y')) console.log(getLabel('Type A', ''))