Saltar al contenido

¿Por qué necesito prevProps con prevState en componentDidUpdate ()?

Solución:

El primer parámetro en componentDidUpdate es prevProps. El segundo parámetro es prevState. La documentación establece claramente que:

componenteDidUpdate (prevProps, prevState, instantánea)

Esta

componentDidUpdate(prevState) {...}

no es una firma correcta para el gancho. Aunque se llamó al primer parámetro prevState, contiene accesorios anteriores.

Es posible alternar parámetros de función en función de su aridad, pero esto no se implementa en React y se considera una mala práctica en general porque conduce a firmas más complejas.

Para no causar advertencias de linter, los parámetros no utilizados se pueden subrayar por convención:

componentDidUpdate(_prevProps, prevState) {...}

No importa si está usando prevProps en su función o no, debe incluirse, ya que los argumentos se ordenan en funciones sí importa.

componentDidUpdate(prevProps, prevState)

Si omite el prevProps argumento, el prevState (incluso aunque el nombre diga claramente que es la versión anterior del estado) representaría la versión anterior de accesorios.

Es solo un espacio en blanco. Puede usar un guión bajo para decirles a los demás (o solo a usted mismo) que no se usa en esa función.

componentDidUpdate(_, prevState)

Porque componentDidUpdate recibe prevProps como el primer argumento y prevState como segundo. Si escribe la función como componentDidUpdate(prevState) esta recibiendo prevProps pero se llamará prevState. No importa cómo nombre los argumentos, serán prevProps, prevState, y snapshot, respectivamente.

Si no necesita el primer argumento, puede usar un guión bajo, por ejemplo. componentDidUpdate(_, prevState).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *