Quiero concatenar 2 matrices de objetos anidados de diferentes tipos con el método lodash concat . Sin embargo, el error de aumento de pelusa mecanografiado sobre el segundo tipo de matriz. Mi primera matriz es:
[ { Header: '...', accessor: '...', minWidth: 200, Filter: {...}, filter: {...}, Aggregated: () => null, }, { Header: '...', accessor: '...', minWidth: 200, Filter: {...}, filter: {...}, Aggregated: () => null, }, { Header: '...', accessor: '...', minWidth: 200, Aggregated: () => null, }, { Header: '...', accessor: '...', minWidth: 200, }, ... ]Donde Filtro y filtro son grandes objetos anidados. Mi segunda matriz es:
[ { Header: '...', accessor: '...', disableGroupBy: true, } ]Recibo un error de linter mecanografiado
Escriba '{ Encabezado: cadena; descriptor de acceso: cadena; deshabilitarGroupBy: booleano; }' faltan las siguientes propiedades del tipo {...}: minWidth, Filter, filter.
Tenga en cuenta que no existe un requisito de propiedad agregada.
La documentación de Lodash dice sobre concat:
Crea una nueva matriz que concatena una matriz con cualquier matriz y/o valor adicional.
En este caso, está bien usar concat de lodash .
La razón por la que obtiene Type Error es porque TypeScript está tratando de inferir el tipo de su segunda matriz en función de su primera matriz, pero esta inferencia de tipo no siempre es cierta.
Puede proporcionar su propio tipo aquí, o simplemente configurarlo como any si no le importa el tipo de matriz devuelta
// provide your type here. This type defines the shape of elements in the result array concat<{Header: string, minwidth: number, ...}>(array1, array2) // or set it to any concat<any>(array1, array2)