




Используйте API componentDidMount для инициализации таймера и не забудьте удалить его на componentWillUnmount.
class App extends Component {
constructor() {
super()
this.state = {
color: 'blue'
}
}
handleChangeEventColor = (newColor) => {
this.setState({
color: newColor
})
}
componentDidMount() {
this.timer = setTimeout(
() => this.handleChangeEventColor('red'),
1000*3 // in milliseconds, 3s for fast show
)
}
componentWillUnmount() {
clearTimeout(this.timer)
}
render() {
return (
<div style = { { background: this.state.color} }>
Color Div
</div>
)
}
}
Чтобы увидеть полный код, проверьте здесь.
Если вы действительно хотите сделать это, вы можете обернуть setTimeout в функцию и создать новый слушатель setTimeout для вызова этой функции через 7 минут. Проверьте здесь для получения дополнительной информации о setTimeout.
также можно запустить таймер с предустановки? например, я предварительно установил таймер на 7 минут для начала, а затем на 10 он изменится?