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):组件判断是否重新渲染时调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值