react 定时刷新模块
完整代码
import React from 'react'
export default class Dom extends React.Component<any, any> {
constructor(props: any) {
super(props)
}
state = {
reload: false
}
timer
resizeHandler
componentDidMount() {
this.getData()
this.resizeHandler = _.debounce(this.handleResize, 500) // 防抖, 当窗口大小改变
window.addEventListener('resize', this.resizeHandler)
this.timer = setInterval(() => this.handleResize(), this.state.refreshTimeValue * 1000)
this.initializationWs()
this.queryHistoryPushMessage()
store.clearHis()
}
componentWillUnmount() {
window.removeEventListener('resize', this.resizeHandler)
if (this.timer) {
clearInterval(this.timer)
}
}
getData = () => {
// 更新数据
}
handleResize = () => {
if (this.getMapData) {
this.setState({
reload: true
})
} else {
this.setState({ reload: false })
}
}
render() {
const dom = (
<div/>
)
return (
{this.state.reload && dom}
)
}
}
使用的是typescript语法