Toogle компонентный класс после тайм-аута REACT

Я хочу удалить класс компонента по прошествии определенного времени в реакции.

вот мой код:

function Slide ({active}) {
const[slideClass, setSlideClass] = useState('slide')

if (active){
    setSlideClass('slide active')
}

  useEffect(() => {
    if (slideClass === 'slide active'){       
        const toggleClass = setTimeout(() => setSlideClass('slide'), 10000)

        return () => {
            clearTimeout(toggleClass)
        };
    }
}, [slideClass]); 

return(
    <div className = {slideClass} />
)

но, похоже, это не работает. Я получаю сообщение об ошибке «Слишком много повторных отрисовок. React ограничивает количество отрисовок, чтобы предотвратить бесконечный цикл». Что мне не хватает? Кажется, что активная опора работает правильно.

РЕДАКТИРОВАТЬ :

Я изменил useEffect, и теперь он хорошо работает, начиная с чистки. Если я возвращаю clearTImeout в useEffect, он не работает, как если бы setTimeout был удален перед запуском. Если я не сброшу тайм-аут, если возникнут проблемы при размонтировании компонента:

useEffect(() => {
    if (active){ 
        setSlideClass('slide active')
        const toggleClass =  setTimeout(() => {setSlideClass('slide')}, 8800)  

        return () => {
            clearTimeout(toggleClass)  
    }
}, [active]); 

Если active всегда истинен, setSlideClass('slide active') может запускаться бесконечное количество раз.

Ajeet Shah 30.03.2021 02:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
16
0

Другие вопросы по теме