Tengo dos métodos como a continuación.
const handleRowClick = React.useMemo(() => !isRunning ? (itemId: string) => { startRun({items: [itemId] }); } : undefined, [startRun] ); const handleSelectedItemsClick = React.useMemo(() => !isRunning ? (items: string[]) => startRun({ items: items }) : undefined, startRun] ); handleRowClick(itemId); handleSelectedItemsClick(itemIds); como se ve desde arriba, handleRowClick toma una cadena como argumento, mientras que handleSelectedItemsClick toma una matriz de cadenas como argumento.
¿Cómo puedo reescribir los métodos anteriores en uno que pueda manejar una cadena o una matriz de cadenas como entrada?
¿Podría alguien ayudarme con esto? Gracias.
en el parámetro de la función, establezca la string | string[]
el interior una función
(itemId: string | string[]) => {startRun({items: Array.isArray(itemId)?itemId:[itemId] });}
const handleSelectedItemsClick = React.useMemo(() => !isRunning ? (items: string[]) => startRun({ items: items }) : undefined, [startRun] ); const handleRowClick = (itemId) => { handleSelectedItemsClick([itemId]); } handleRowClick(itemId); handleSelectedItemsClick(itemIds);