React(0.13) 利用componentDidMount 方法设置一个定时器

<html>
    <head>
        <title>hello world React.js</title>
        <script src="build_0.13/react.min.js"></script>
        <script src="build_0.13/JSXTransformer.js"></script>
    </head>
    <body>
        <div id="e"></div>
        <script type="text/jsx">
            var Hello = React.createClass({
                    getInitialState:function(){
                        return {opacity:1.0};
                    },
                    componentDidMount:function(){
                        this.timer = setInterval(function(){
                            var opacity = this.state.opacity;
                            opacity -= 0.1;
                            if(opacity < 0.1){
                                opacity = 1.0
                            }

                            this.setState({
                                opacity:opacity
                            });
                        }.bind(this), 100);
                    },
                    render:function(){
                        return (
                            <div style={{opacity:this.state.opacity}}>
                                hello {this.props.name}
                            </div>
                        );
                    }
                });

            //添加组件到e中
            React.render(
                <Hello name="world" />,
                document.getElementById("e")
            );
        </script>
    </body>
</html>

组件的生命周期

组件的生命周期分成三个状态:

  • Mounting:已插入真实 DOM
  • Updating:正在被重新渲染
  • Unmounting:已移出真实 DOM

React 为每个状态都提供了两种处理函数,will 函数在进入状态之前调用,did 函数在进入状态之后调用,三种状态共计五种处理函数。

  • componentWillMount()
  • componentDidMount()
  • componentWillUpdate(object nextProps, object nextState)
  • componentDidUpdate(object prevProps, object prevState)
  • componentWillUnmount()

此外,React 还提供两种特殊状态的处理函数。

  • componentWillReceiveProps(object nextProps):已加载组件收到新的参数时调用
  • shouldComponentUpdate(object nextProps, object nextState):组件判断是否重新渲染时调用
时间: 2024-10-31 00:20:29

React(0.13) 利用componentDidMount 方法设置一个定时器的相关文章

ASP.NET中设置一个定时器来定时更新 转

asp.net 定时器 比较少用,  中国红木网这是一个相当实用的功能,有了RSS博客镜像,就不需要在多处同时发布博客日志了.比如你同时在新浪上有自己的博客,又同时有自己的个人博客站点,那么你只需要在新浪上发布博客日志,而个人博客站点通过RSS博客镜像功能将新浪博客上发布的新日志自动更新到站点中.我们在ASP.NET的,至于asp,由于其天生的局限性,可能无法直接在Web应用程序中完成这一功能,而需要额外的Windows应用程序的支持.1. 管理RSS博客镜像首先我们需要在RSS博客镜像,需要管

如何在网页中设置一个定时器计算时间?

写一个简单的计数js代码 首先先写一个div,用于存放计数器,并且通过改变样式可以改变计数器的样子 <body> <div id="le"></div> </body> <style type="text/css"> #le{ position: fixed; right: 100px; top: 200px; width: 250px; height: 200px; background-color: #

React(0.13) 服务端渲染的两个函数

1.React.renderToString 函数,  参数是组件,返回一个字符串 <!DOCTYPE html> <html> <head> <title>React JS</title> <script src="../build_0.13/react.js"></script> <script src="../build_0.13/JSXTransformer.js"&g

React(0.13) 组件的组合使用

<html> <head> <title>组件的组合调用</title> <script src="build_0.13/react.min.js"></script> <script src="build_0.13/JSXTransformer.js"></script> </head> <body> <div id="e&quo

React(0.13) hello world

<!DOCTYPE html> <html> <head> <title>React JS</title> <script src="../build_0.13/react.js"></script> <script src="../build_0.13/JSXTransformer.js"></script> </head> <body&g

PHP利用魔术方法实现准AOP

PHP利用魔术方法实现准AOP 在 传统的OOP(面向对象编程:Object-Oriented Programming)思想里,一般把应用程序分解成若干个的对象,强调高内聚,弱耦合,从而提高应用程序的模块化程度,但是在处理某些问题的时 候,OOP会显得不够灵活,比如说,应用程序里很多业务逻辑都要在操作之初进行“权限检查”,在操作之后进行“日志记录”,如果直接把处理这些操作的代码 加入到每个模块中,那么无疑破坏了OOP的“单一职责”原则,模块的可重用性会大大降低,这时候传统的OOP设计往往采取的策

[转]UIView的属性,父视图和子视图的层级操作,子视图的自适应模式,外加一个定时器

1)UIView视图frame的设置,四个参数,前2个确定位置,后2个确定大小. (2)UIView的内容模式contentMode,和在UIImage中说的是一样的,而且在UIImage中展示更容易理解. (3)UIView最重要的就是父视图和子视图之间的关系,以及父视图操作子视图(增加一个子视图,把一个子视图放到最下面最上面.交换两个子视图的加载顺序等等) (4)还有一个重要的是,父视图如果发生变化,子视图怎么自动调整布局:先让父视图允许子视图干这个事,即把父视图的属性autoresizes

【iOS开发-14】UIView的属性,父视图和子视图的层级操作,子视图的自适应模式,外加一个定时器

(1)UIView视图frame的设置,四个参数,前2个确定位置,后2个确定大小. (2)UIView的内容模式contentMode,和在UIImage中说的是一样的,而且在UIImage中展示更容易理解. (3)UIView最重要的就是父视图和子视图之间的关系,以及父视图操作子视图(增加一个子视图,把一个子视图放到最下面最上面.交换两个子视图的加载顺序等等) (4)还有一个重要的是,父视图如果发生变化,子视图怎么自动调整布局:先让父视图允许子视图干这个事,即把父视图的属性autoresize

Pig升级0.13.0踩过的一个坑

背景:之前的pig版本是0.12,看到社区的0.13.0已经发布好久了,有很多新的patch和feature.其中有一个feature是 设置jar包缓存的参数,pig.user.cache.enabled .这个参数可以提高pig的执行速度.具体看下: https://issues.apache.org/jira/browse/PIG-3954     User Jar Cache     Jars required for user defined functions (UDFs) are