#275 La opción 2 nunca.
Luego si solo modificas 1 estado cada vez que ocurre algo, la opción 1 es la correcta.
Pero si por ejemplo, cuando el usuario hace click en X haces dos cosas, modificar articulos y notificaciones, entonces lo mas optimo es crear un reducer, de tal forma en lugar de hacer:
onClick= () => {
setNotifications(1)
setArticulos(blabla)
}
Tienes un reducer y le lanzas un dispatch:
onClick = () => dispatch({type : 'ADD_NOTIFICATION_AND_MODIFY_ARTICLE', payload : { notification : 1, article : blabla}})
Con el useReducer puedes modificar dos estados o los que quieras y solo provocar 1 re-rerender, de la otra forma generaras 2, y lo que es peor, te expones a los race condition.