Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

354
Vistas
Argument of type '{ identifier: string; }' is not assignable to parameter of type 'ConcatArray<never>'

I'm new on typescript, here i have been adding typescript to my project, getting this strange error: No overload matches this call. Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error. Argument of type '{ identifier: string; }' is not assignable to parameter of type 'ConcatArray<never>'. Type '{ identifier: string; }' is missing the following properties from type 'ConcatArray<never>': length, join, slice Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error. Argument of type '{ identifier: string; }' is not assignable to parameter of type 'ConcatArray<never>'.ts(2769)

my code where it is giving me that(reducers.ts):

interface Update_AnalyserState {
  identifier: string;
}

const initialArticleState= {
  analysers: [],
};
export function articleReducer(
  state = initialArticleState,
  action: articleReducerAction
) {
  switch (action.type) {
   
    case ActionType.UPDATE_ANALYSER:
      return {
        ...state,
        analysers: state.analysers
          .filter(
            (a: Update_AnalyserState) =>
              a.identifier != action.payload.identifier
          )
          .concat(action.payload),
      };
       }
}

any help/suggestion with this ?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

It's not easy to debug from your example but I think the problem is this

const initialSiteArticleState = {
  analysers: [],
};

Your analyzers is an empty array type so it means it's never[]. So the result of the filter is going to be a never[]. So you will have to correctly type that initialSiteArticleState.

Something like

const initialSiteArticleState:{analysers: Update_AnalyserState[]} = {
  analysers: [],
};

Give it a shot. Here is also a playground that I tried to reproduce your code. If you hover on tmp you can see it's type never[].

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda