对不起新手问题,我是新人的反应 我有多个组件,其中一些我在间隔中进行Api调用以保持列表更新。
在 Angular 中,我可以使用requestAnimationFrame
创建一个间隔广播事件的服务,并在这些事件中进行Api调用。这是一个好主意,因为:
等一些优点。
在许多情况下,例如this,我认为在反应/减少中做同样的事情并不是一个好方法,我们最好尽量将行动调度保持在最低限度。但如果我在每个组件中创建一个间隔,它就不再干了。
我的问题是我应该选择哪种方式,还是有另一种方法?
答案 0 :(得分:1)
您可以使用reacts componentDidMount()
,这对于设置一个时间间隔和进行api调用非常简单,尽管不建议这样做,但是可以将其用于测试目的。
componentDidMount() {
this.myInterval = setInterval(() => {
const { seconds} = this.state
if ( seconds> 0 ) {
this.setState(({ seconds }) => ({
seconds: seconds -1
}))
} else if (seconds==0) {
return(this.color('#840000'))
}
}, 1000)
Axios.get('https://jsonplaceholder.typicode.com/users')
.then(response => {
console.log(response);
this.setState({ items: response.data.result.items});
})
.catch(error => {
console.log(error);
});
}