Estoy llamando a una función para determinar si un conjunto de campos de formulario son válidos. Tengo un conjunto de variables de estado que deberían activar useEffect() pero aparentemente no puedo hacer una matriz de antemano como esta sin recibir una advertencia:
const states = [name, email, password] useEffect(() => { someFunction({ states }) }, states)En su lugar, tengo que hacer esto:
useEffect(() => { someFunction({ states: [name, email, password] }) }, [name, email, password])Esto es molesto porque planeo usar este patrón en otros formularios que tendrán de 10 a 20 campos, así que odio abarrotarlo construyendo toda la matriz cada vez. ¿Hay una mejor manera?
Técnicamente, sí, es posible. Lo que está viendo es una advertencia de eslint, y puede deshabilitarla en línea/archivo. Consulte los documentos aquí: https://eslint.org/docs/user-guide/configuring/rules#disabling-rules
const states = [name, email, password] useEffect(() => { someFunction({ states }) }, states) // eslint-disable-line <eslint-error-id>Rara vez es una buena idea tener una variable como esa, ya que eslint no podrá decirle si le falta una dependencia.