А вот и решение проблемы с кодом, смотрите. Но это не самое идеальное решение, так как стоит использовать и useMemo чтоб повторного рендера компонента не было при каждом клике.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.