码迷,mamicode.com
首页 > Web开发 > 详细

reactjs入门到实战(四)---- props详解

时间:2016-06-05 01:09:48      阅读:779      评论:0      收藏:0      [点我收藏+]

标签:

1》》》基础的props使用     不可修改父属性    getDefaultProps   对于外界/父组件的属性值,无法直接修改,它是只读的。

<script type="text/babel">
            var Hello = React.createClass({
                getDefaultProps:function(){
                    return{
                        name:Default
                    }
                },
                render:function(){
                    return (
                        <span>Hello {this.props.name} !</span>
                    );
                }
            });
            ReactDOM.render(
                <Hello />,
                document.getElementById(example)
            )
        </script>

2》》》父子传递

<script type="text/babel">
            //两层以上的传递
            //1、props 属性值提倡显示的传递到下一级
            //子组件
            var Child = React.createClass({
                render:function(){
                    return(
                        <span>Hello {this.props.fullName}</span>
                    );
                }
            });
            
            var Parent = React.createClass({
                addFamilyName:function(name){
                    return (name + chen);
                },
                render:function(){
                    return(
                        <div>
                            <Child fullName={this.addFamilyName(this.props.name)} name={this.props.name}/>
                        </div>
                    );
                }
            });
            
            ReactDOM.render(
            <Parent name="jin" />,document.getElementById(example)
            )
        </script>

》》》state和props的区别

1、state 本组件内的数据   相对封闭的单元/结构的数据  状态     组件的无状态

2、props 组件直接的数据流动  单向的 ,从owner向子组件

<script type="text/babel">
            //props和state的区别
            var Msg = React.createClass({
                render:function(){
                    return(
                        <div>
                            <span style={{color:this.props.color}}>Hello {this.props.master}.IT is {this.props.time} now.the color is {this.props.color} </span>
                        </div>
                    
                    );
                }
            });
            var Hello = React.createClass({
                getInitialState:function(){
                    return{
                        time:new Date().toDateString(),
                        color:red
                    }
                },
                changeColor:function(){
                    this.setState({color:green})
                },
                render:function(){
                    return(
                        <div>
                            <span onClick={this.changeColor}>The ownerName is {this.props.name}</span>
                            <br/>
                            <Msg master={this.props.name} time={this.state.time} color={this.state.color} />
                        </div>
                    );
                }
                
            });
            
            ReactDOM.render(
                <Hello name="world" />,
                document.getElementById(example)
            )
        </script>

 

reactjs入门到实战(四)---- props详解

标签:

原文地址:http://www.cnblogs.com/chenjinxinlove/p/5559932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!