• React--组件


    <!DOCTYPE html>
    <!-- React 允许将代码封装成组件(component),
    然后像插入普通 HTML 标签一样,在网页中插入这个组件。 -->
    <html>
    <head>
        <script src="./js/react.js"></script>
        <script src="./js/react-dom.js"></script>
        <script src="./js/browser.min.js"></script>
    </head>
    <body>
        <div id="example"></div>
        <script type="text/babel">
            var HelloMessage = React.createClass({
                render:function () {
                    return <h1>hello {this.props.name}</h1>
                }
            })
    
            ReactDOM.render(
               <HelloMessage name="Helen" />,  
               document.getElementById('example') 
            );
        </script>
    </body>
    
    </html>
    
    
    注意

    <HelloMessage name="Helen" />是个半闭合标签,少/会报错

    React的props

    React中的每一个组件,都包含有一个属性(props),在组件内部,我们可以通过this.props获取属性对象。

    组件如下:

    React.render(  
        <HelloWorld name="Jack"/>,  //name属性的值是“jack”
        document.getElementById('container')  
    ); 
    

    属性使用方法:

    1.直接调key/value

    var HelloWorld = React.createClass({  
        render:function(){
            return {
                <div> hello{this.props.name} </div>
            }
        }
    }); 
    

    2.延展属性

    用{...props}方法
    <div id="example"></div>
        <script type="text/babel">
        // 创建组件  React.createClass
            var HelloMessage = React.createClass({
                render:function () {
                    return <h1>hello {this.props.name1},{this.props.name2}</h1>
                }
            })
    
            var props = {
                name1:"andy",
                name2:"tom"
            }
    
            ReactDOM.render(
               <HelloMessage {...props}/>,
               document.getElementById('example') 
            );
            
        </script>
    

    3.调用组件的setProps函数来指定属性

        <div id="example"></div>
        <script type="text/babel">
            var HelloMessage = React.createClass({
                render:function () {
                    return <h1>hello {this.props.name}</h1>
                }
            })
    
            var instance  = React.render(  // 为什么不是ReactDOM.render??
                <hello />,
                document.getElementById('example');
            )
            
            instance.setProps({name:'jack'});
            
        </script>
    

    自己设置了组件的属性值。

    但是不建议用这种方式修改属性值,因为React没有办法帮你检查属性的类型(propTypes)。如果用在工程中,这么轻易改掉又没检查监督,很容易出问题。所以不要轻易修改。
  • 相关阅读:
    redis数据持久化
    redis安全:给redis设置密码
    redis命令总结
    redis事务
    redis发布订阅
    Java中的日期
    链式队列
    删除链表中的结点(链表)、比较含退格的字符串(栈)、棒球比赛(栈)
    物理层
    链式栈
  • 原文地址:https://www.cnblogs.com/n2meetu/p/8805207.html
Copyright © 2020-2023  润新知