Итак ... Я пробовал useEffect, но обнаружил странное поведение. У меня состояние в тупой составляющей. Я вызываю 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.
Эта функция должна изменить состояние прослушивателя событий, но это не так.