首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react.js如何每秒钟更换一次球的班次?

react.js如何每秒钟更换一次球的班次?
EN

Stack Overflow用户
提问于 2016-08-07 05:28:34
回答 1查看 833关注 0票数 0
  1. 我是react.js的初学者。我想每秒钟换一次球的班次?一秒钟是“开”,另一秒钟是“关”。
  2. 我正在尝试使用setInterval,但是有错误的Error: Invariant Violation: EzLampComp.render(): A valid ReactComponent must be returned.
  3. 我的密码在这里。如何解决??

ez-灯风格:

代码语言:javascript
复制
.ez-lamp{
  display : inline-block;
  margin : 5px;
  width : 30px;
  height : 30px;
  border-radius : 50%;
}
.ez-lamp.on{
  opacity : 1;
  background : -webkit-radial-gradient(30% 30%,white 5%,red 95%);
}
.ez-lamp.off{
  opacity : 0.5;
  background : -webkit-radial-gradient(30% 30%,#888 5%,red 95%);
}

电子灯组件:

代码语言:javascript
复制
var EzLampComp = React.createClass({
  render : function(){
    var onoff = this.props.onoff;                   
    setInterval(function(){
      if(onoff="on")
      return <span className = "ez-lamp off"></span>; 
      else
      return <span className = "ez-lamp off"></span>; 

    },1000);                                    
  }
});
ReactDOM.render(
  <EzLampComp onoff="on"/> , //JSX
  document.querySelector("#content"));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-07 05:41:32

setInterval应该从componentDidMount中调用,并且只应该切换状态。

代码语言:javascript
复制
getInitialState() {
  return {
    onoff: this.props.onoff
  }
}

componentDidMount() {
  setInterval(function() {
    this.setState({
      onoff: !this.state.onoff
    }, 1000);
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38811192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档