• [React] React Fundamentals: transferPropsTo


    the transferPropsTo method lets you easily push properties into your components to easily customize attributes.

    From last two exmaples, we have BButton adn BHeart set up.

        var BButton = React.createClass({
           render: function() {
               return (
                 <a className="btn btn-primary">{this.props.children}</a>
               );
           }
        });
        var BHeart =
                React.createClass({
                    render:function(){
                        return <span className="glyphicon glyphicon-heart"></span>
                    }
                });

    To get more fixability, we don't want button to be 'btn-primary' and icon to be 'glyphicon-hear', we may want something else.

    Here we update the code:

        var BButton = React.createClass({
           render: function() {
               return this.transferPropsTo(
                 <a className="btn">{this.props.children}</a>
               );
           }
        });
    
        var BIcon =
                React.createClass({
                    render:function(){
                        return this.transferPropsTo(<span className="glyphicon"></span>);
                    }
                });

    We take away 'btn-primay' and 'glyphicon-heart', let them just be a BButton and BIcon.

    Then in the App, we can set whatever we want:

        var App = React.createClass({
            render: function(){
                return (
                        <div>
                         <BButton className="btn-danger">I <BIcon className="glyphicon-fire"></BIcon> React</BButton>
                         <BButton className="btn-warning">I <BIcon className="glyphicon-heart"></BIcon> React</BButton>
                         <BButton className="btn-success">I <BIcon className="glyphicon-home"></BIcon> React</BButton>
                        </div>
                );
            }
        });

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title>React Lesson 6: Accessing Child Properties</title>
        <link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.min.css"/>
    </head>
    <body>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/JSXTransformer.js"></script>
    <script type="text/jsx">
        /** @jsx React.DOM */
    
        var App = React.createClass({
            render: function(){
                return (
                        <div>
                         <BButton  href="javascript:alert('Hello');" className="btn-danger">I <BIcon className="glyphicon-fire"></BIcon> React</BButton>
                         <BButton  href="javascript:alert('Hello');"className="btn-warning">I <BIcon className="glyphicon-heart"></BIcon> React</BButton>
                         <BButton  href="javascript:alert('Hello');" className="btn-success">I <BIcon className="glyphicon-home"></BIcon> React</BButton>
                        </div>
                );
            }
        });
    
        var BButton = React.createClass({
           render: function() {
               return this.transferPropsTo(
                 <a className="btn">{this.props.children}</a>
               );
           }
        });
    
        var BIcon =
                React.createClass({
                    render:function(){
                        return this.transferPropsTo(<span className="glyphicon"></span>);
                    }
                });
    
    
        React.render(<App />, document.body);
    </script>
    </body>
    </html>
  • 相关阅读:
    HTML 5 音频
    HTML 5 视频
    HTMl链接- target/ name
    HTML 链接
    OGNL_一点
    struts_表单得到数据
    MySql_十六进制值
    HTML 事件属性(下)
    作业3-2 输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数
    作业3-1 .输入一个整数 x,计算并输出下列分段函数 sign(x) 的值
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4363447.html
Copyright © 2020-2023  润新知