Я там уже по всякому пробовал, и rate == 0, и через отдельный useState, всегда одна и та же картина - звёзды рисуются в соответствии с rate, а состояние кнопки обновляется только при клике на неё. Соответственно, первый клик не проходит, только со 2 раза.