>> не могут же они сами по себе меняться

Они сами по себе и не меняются. Ты же вызываешь setState(...). И никакого сравнения здесь нет, здесь есть получение текущего значения и установка нового инвертированного.

В общем, ты не понимаешь как работают стейты в реакте. Иди уроки проходи начиная с этого.