Не получается реализовать такую логику - нужно навешивать элементу класс со свойством pointer-events: none;
на 1.5 секунды после изменения state
.
import ball from './img/ball.png';
export default class Test extends Component {
constructor(props) {
super(props);
this.state = {
position: 0
}
}
changePosition = () => {
this.setState({
position: ++this.state.position
})
setTimeout(()=>{
}, 1500)
}
render() {
let boxStyle = styles.box;
let pointerEvent = ` ${styles.box_inactive}`;
if (this.state.position === 1) {
boxStyle += pointerEvent; // это мне нужно засунуть в setTimeout , но, как я понял нельзя это делать внутри render (я про setTimeout), но где тогда это можно сделать? нужно повесить класс на 1.5 секунды и снять его
}
return(
<div className={boxStyle}>
<img className={styles.ball} onClick={this.changePosition} src={ball}/>
</div>
);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
Решил вопрос добавлением еще одного свойства состояния
this.state = {
deerPosition: 0,
isClickable: true
};
setTimeout(() => {
this.setState({
isClickable: true
})
}, 1600);
ну и отрывок простой логики
if (!this.state.isClickable) {
boxStyle += pointerEvent;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Настроен бейбел, все работает отлично, но на некоторых браузерах, не работает, так как несколько кусков код не траспайлятся, нашел один кусок...
Вводная: используются ПДА с системой Win Embedded 700, а на них работают через web-приложение в локалке на мобильном IE6
У меня приложение на Vuejs и мне нужно прогресс-бар создать