Lo siento, no sé cómo buscar este tipo de problema y no encontré ninguna respuesta, pero estoy muy confundido con este código, es una función setState para una verificación OTP:
setCode((currCode) => currCode .split('') .map((ch, i) => (i !== idx ? ch : isCharNumber ? val : isEmpty ? '_' : ch)) .join(''), ); Entiendo la parte del mapa, solo me pregunto sobre esa coma "," después de la función de unión. ¿por qué? si elimino eso, el código funciona pero ESlint me dice que lo ponga al final. ¿devuelve un objeto? simplemente pasa por el estado que es "____" (cuatro guiones bajos) y cambia cada _ a dígito. Agradezco mucho si alguien me explica esto y me dice como puedo buscar y buscar este tipo de confusiones. ty
¿devuelve un objeto?
No.
Me pregunto acerca de esa coma "," después de la función de unión. ¿por qué?
En JavaScript moderno, es opcional tener una coma después del último argumento en una llamada de función (y después del último parámetro en una lista de parámetros de función), así:
example( firstArg, secondArg, thirdarg, // ^−−−−−−−−−−−− optional )Hace que sea conveniente al agregar/eliminar argumentos más tarde no tener que preocuparse por agregar/eliminar una coma.
Eso es lo que sucede en su código, hay un solo argumento para setCode (la función de flecha), seguido de una coma.
si elimino eso, el código funciona pero ESlint me dice que lo ponga al final.
ESLint se puede configurar para requerir comas finales en las listas de argumentos de función ; aparentemente está configurado de esa manera en su configuración. Si no le gusta la regla, puede desactivarla (en proyectos privados) o discutirla con su equipo (en proyectos de equipo).