[React ] React Fundamentals: Component Lifecycle - Mounting Usage

The previous lesson introduced the React component lifecycle mounting and unmounting. In this lesson you will learn some simple uses for these hooks.

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Component Lifecycle: Mounting Uses</title>
    <script src="http://fb.me/react-0.8.0.js"></script>
    <script src="http://fb.me/JSXTransformer-0.8.0.js"></script>
    <style>
    body {
        margin: 25px;
    }
    </style>
</head>
<body>
<button onClick="render()">Render</button>
<button onClick="unmount()">Unmount</button>
<hr />
<div id="panel"></div>
<script type="text/jsx">
    /** @jsx React.DOM */
    var APP = 
        React.createClass({
            update:function(){
                var newVal = this.props.val+1
                this.setProps({val:newVal})
            },
            componentWillMount:function(){
                this.setState({m:2});
                if(this.props.val===0){
                    this.btnStyle = {'color':'red'}
                }
            },
            render:function(){
                console.log("hello world")
                return  <button
                                    style={this.btnStyle}
                                    onClick={this.update}>
                                    {this.props.val*this.state.m}
                                </button>
            },
            componentDidMount:function(){
                this.inc = setInterval(this.update,500)
            },
            componentWillUnmount:function(){
                console.log("goodbye cruel world!")
                clearInterval(this.inc)
            },
        });

        window.render = function(){
            React.renderComponent(
                <APP val={0} />,
                document.getElementById('panel'))   
        }
        window.unmount = function(){
            React.unmountComponentAtNode(document.getElementById('panel'))
        }
</script>
</body>
</html>

 

posted @ 2015-03-24 23:01  Zhentiw  阅读(300)  评论(0编辑  收藏  举报