Ваши результаты всегда обновляются, потому что вы обновляете свое состояние, как только изменяется ваш ввод. Это все еще хорошо (насколько я знаю), но каждый раз, когда вы обновляете состояние, весь ваш компонент перерисовывается, также объект results
перерисовывается и пересчитывается из-за этой строки:
results = onClick(value);
Поэтому я бы посоветовал также сохранить результат в вашем состоянии и рассчитывать его только тогда, когда пользователь нажимает «GUESS».
ПРИМЕЧАНИЕ. Пожалуйста, избегайте сравнений с ==
в Javascript и всегда предпочитают ===
, потому что он также проверяет тип. Теперь это не удается, потому что вы сравниваете число со строкой -> проверьте свои типы данных и попытаетесь изменить его на ===
ПРИМЕЧАНИЕ 2. Я тоже еще новичок в React, поэтому извините, если Я не использовал хорошую формулировку et c - спасибо;)