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

737
Vistas
eslint: no-case-declaration - declaración léxica inesperada en el bloque de casos

¿Cuál es la mejor manera de actualizar el estado en este contexto dentro de un reductor?

 case DELETE_INTEREST: let deleteInterests = state.user.interests; let index = deleteInterests.findIndex(i => i == action.payload); deleteInterests.splice(index, 1); return { ...state, user: { ...state.user, interests: deleteInterests } };

A ESLint no le gustan las declaraciones let dentro de bloques de casos dentro de un reductor, obteniendo:

eslint: no-case-declaration - declaración léxica inesperada en el bloque de casos

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

A ESLint no le gustan las declaraciones let dentro de bloques de casos dentro de un reductor, ¿por qué?

Esto no se recomienda porque da como resultado que la variable esté fuera del alcance de su case actual. Al usar un bloque, limita el alcance de la variable a ese bloque.

Use {} para crear el alcance del bloque con el caso, así:

 case DELETE_INTEREST: { let ..... return (...) }

Revisa este fragmento:

 function withOutBraces() { switch(1){ case 1: let a=10; console.log('case 1', a); case 2: console.log('case 2', a) } } function withBraces() { switch(1){ case 1: { let a=10; console.log('case 1', a); } case 2: { console.log('case 2', a) } } } console.log('========First Case ============') withOutBraces() console.log('========Second Case ============') withBraces();

Para eliminar el elemento de la matriz, use array.filter , porque el empalme hará los cambios en la matriz original. Escríbelo así:

 case DELETE_INTEREST: let deleteInterests = state.user.interests; let newData = deleteInterests.filter(i => i !== action.payload); return { ...state, user: { ...state.user, interests: newData } };
over 4 years ago · Santiago Trujillo Denunciar

0

intente encapsular el interior de la caja con {} como este, vea un ejemplo simple

 case EnumCartAction.DELETE_ITEM: { const filterItems = state.cart.filter((item) => item._id !== action.payload) return { ...state, cart: filterItems } }
over 4 years ago · Santiago Trujillo 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