Зависит от того, откуда setStates
вызывается. Обычно они объединяются вместе и запускают один рендеринг. Однако, если они вызываются из некоторого асинхронного кода, Response не может объединить их вместе. Вы можете прочитать больше об этом поведении здесь
Если вы хотите обойти это поведение, вы можете, например, использовать useReducer
, который не страдает от этого проблема в том, что вам нужно только одно обновление для изменения данных в разных местах.