Итак ... Я пытался использовать эффект, но обнаружил странное поведение.У меня есть состояние в немом компоненте.Я вызываю useEffect и внутри него добавляю новый eventListener.Этот слушатель события должен изменить состояние, учитывая условие.Проблема в том, что государство никогда не меняется ... Идеи?
const componentToRender=()=>{
const [renderStatus, changeRenderStatus]=useState(false);
const [transitionStatus, changeTransitionStatus]=useState(false);
if(!renderStatus){
useEffect(()=>{
window.addEventListener("transitionend",(event)=>{
if(event.propertyName==="width"){
changeTransitionStatus(transitionStatus?false:true);
}
})
})
changeRenderStatus(true)
}
return (transitionStatus)?<div> First case </div>:<div> Second case</div>
}
есть еще одна функция с некоторыми манипуляциями с DOM onMouseOver.
Эта функция должна изменять состояние прослушивателя событий, но это не так.