Я пытаюсь вызвать функцию в reactjs, используя setInterval, например:
import React,{Component} from 'react';
class Timer extends Component {
trigger(){
this.clock = this.setState({clock:Date.now()-this.props.date});
}
setInterval(this.trigger,1000);
constructor(props){
super(props);
this.state = {
clock:0
};
this.trigger = this.trigger.bind(this);
}
render(){
this.state.clock=Math.round(this.state.clock/1000);
return(
<div>
<p>You are here since</p>
<span>{this.state.clock}</span>
<p>Seconds.</p>
<button onClick = {this.trigger}>Click me</button>
</div>
);
}
}
export default Timer;
Вместо этого возвращается эта ошибка:
Syntax error: F:/reactjs1/project-6/timer/src/Timer.js: Unexpected token (8:22)
Syntax error: F:/reactjs1/project-6/timer/src/Timer.js: Unexpected token (8:22)
6 | this.clock = this.setState({clock:Date.now()-this.props.date});
7 | }
> 8 | setInterval(trigger,1000);
^
та же ошибка отображается сейчас на этом
Пожалуйста, опубликуйте код всего компонента



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуй это:
trigger() {
let newTime = Date.now() - this.props.date;
setInterval(() => {
this.setState({
clock: newTime;
})
}, 1000);
}
Вы можете выполнить эту функцию различными способами, наиболее вероятно, что это будет внутри компонента или контейнера componentDidMount (). Затем он будет запускаться каждую секунду, каждый раз обновляя значение this.clock.
попробуйте
setInterval(this.trigger,1000);и введите жизненный цикл componentDidMount.