Tengo esta situación en mi código mecanografiado:
const first = (value: any[]) => { } const test = (...args: any[]) => first(...args); En la test función, paso todos los parámetros en la first función. first(...args) .
Al hacer esto, aparece un error de mecanografiado: A spread argument must either have a tuple type or be passed to a rest parameter.(2556) .
Noto muchas respuestas sobre este tema, pero no resuelven mi problema.
¿Cómo resolver este problema?
El error significa que necesita usar un Array y distribuir arg dentro de él:
const first = (value: any[]) => {}; const test = (...args: any[]) => first([...args]);Su función first() espera obtener una matriz/tupla.
Así que simplemente puede pasar la matriz.
const first = (value: any[]) => {}; const test = (...args: any[]) => first(args); o puede hacer que el first método acepte argumentos variables:
const first = (...value: any[]) => {}; const test = (...args: any[]) => first(...args);Llamar first con args
const test = (...args: any[]) => first(args);