Javascript React中闪烁速度不一致
我试图在React中创建一个闪烁器,但是,闪烁器本身以不一致的速率闪烁/渲染,行为有些令人沮丧。请参阅所附的代码片段。部件安装是否有问题?谢谢Javascript React中闪烁速度不一致,javascript,reactjs,ecmascript-6,blinker,Javascript,Reactjs,Ecmascript 6,Blinker,我试图在React中创建一个闪烁器,但是,闪烁器本身以不一致的速率闪烁/渲染,行为有些令人沮丧。请参阅所附的代码片段。部件安装是否有问题?谢谢 类闪烁器扩展React.Component{ 建造师(道具){ 超级(); 此.state={ 出现:正确 } this.blinker=this.blinker.bind(this); } 闪烁器(){ this.setState({seen:!this.state.seen}); } componentDidMount(){ 设置时间间隔(此.bl
类闪烁器扩展React.Component{
建造师(道具){
超级();
此.state={
出现:正确
}
this.blinker=this.blinker.bind(this);
}
闪烁器(){
this.setState({seen:!this.state.seen});
}
componentDidMount(){
设置时间间隔(此.blinker,1000)
}
componentDidUpdate(){
setTimeout(this.blinker,1000)
}
render(){
返回(
{(this.state.appease)&&“xxx”}
);
}
}
ReactDOM.render(
,
应用程序
);代码>
删除组件diddupdate
。为什么要在组件更新后触发新的1秒超时?从didMount
开始的间隔仍将运行
此外,您需要清除组件卸载时的间隔:
componentDidMount() {
this.blinkerId = setInterval(this.blinker, 1000)
}
componentWillUnmount() {
clearInterval(this.blinkerId);
}
删除组件diddupdate
。为什么要在组件更新后触发新的1秒超时?从didMount
开始的间隔仍将运行
此外,您需要清除组件卸载时的间隔:
componentDidMount() {
this.blinkerId = setInterval(this.blinker, 1000)
}
componentWillUnmount() {
clearInterval(this.blinkerId);
}