Оператор If в react => Ошибка: Слишком много повторных рендеров. React ограничивает количество рендеров, чтобы предотвратить бесконечный цикл

#javascript #reactjs

Вопрос:

 
const [totalPeople, setTotalPeople] = useState(1);

    if ( value1 > value2 ) {
        setTotalPeople(totalPeople   1)
        return totalPeople

    }
 

Я пытаюсь добавить 1 к общему числу людей каждый раз, когда первое значение больше, чем второе, я продолжаю получать эту ошибку повторного рендеринга. Каков наилучший способ решения этой проблемы ?

Комментарии:

1. Сам по себе код имеет мало смысла.

2. Если value1 ничего не value2 изменится, ваш функциональный компонент будет продолжать задавать состояние setTotalPeople , так как условие останется верным. ПРАВКА: это все, что я мог видеть, так как вы не предоставили полный фрагмент кода

3. Не помещайте подобный код непосредственно в основную функцию компонента. Это вызывает повторный рендеринг, который снова запускает основную функцию, что вызывает повторный рендеринг, который снова запускает основную функцию и т. Д. и т. Д.