Este es el valor actual del estado (myState):
[{“id”: 123, “title”: “book 1”}]
Cuando un usuario intenta agregar un nuevo libro, quiero verificar si la identificación coincide con alguna de las identificaciones que ya están en la variable de estado. Intenté hacer esto:
if (!myState.map(a => a.id).includes(newBook.id)) setMyState([newBook, ...myState]);
Esto funciona bien, pero no creo que sea el enfoque correcto porque la actualización de estado es asíncrona, por lo que el usuario podría agregar el mismo libro dos veces si el estado no se actualiza lo suficientemente rápido. ¿Cuál es el mejor patrón para estas situaciones?