Uno de los paquetes que más se usan en Flutter es Equatable, el cual simplifica las comparaciones de objetos. Pero que significa esto, pues veamoslo con un ejemplo:
Como se ve la comparación de los dos objetos es falsa porque poseen diferentes hashcode. Para resolverlo podemos modificar el código de la siguiente manera:
Pero esta solución no es tan óptima ya que si User tuviera más variables el código se convertiría en espagueti. Entonces aquí es donde entra Equatable fíjense lo fácil que es utilizarlo:
Y de esta forma tan sencilla tendríamos un código mucho más limpio.