• reactjs(四)props的作用


    记住一句话:渲染一个复合组件时,一定要将两个组件封装在同一个标签内进行渲染。

    props用来传递参数。组件实例化过程中,你可以向其中传递一个参数,这个参数会在实例化过程中被引用。

    参考下面的例子:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title></title>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
        <script src="https://static.runoob.com/assets/react/browser.min.js"></script>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
          var LikeButton = React.createClass({
            getInitialState: function() {
              return {liked: false};
            },
            handleClick: function(event) {
              this.setState({liked:!this.state.liked});
            },
            render: function() {
            var text = this.state.liked?"yellow":"blue";
            var style = {
                color:text
            }
              return (
                <p onClick={this.handleClick} style={style}>
                    我是{this.props.name},不是"齐天大圣"//{this.props.name}接收名称叫name的参数
                </p>
              );
            }
          });
    
          React.render(
            <LikeButton name="七天大圣"/>,//在组件实例化过程中传递一个名称叫name的参数。
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

    props相当于一个对象,传递的参数保存到这个对象里面。我们也可以给这个对象添加一些固定参数,可以在组件内直接引用。

    可以通过在 getDefaultProps() 方法在构建组件的过程中为 props 设置默认值

    var Message = React.createClass({
      getDefaultProps: function() {
        return {
          name: '齐天大圣'
        };
      },
      render: function() {
        return <h1>Hello {this.props.name}</h1>;
      }
    });
    
    ReactDOM.render(
      <HelloMessage />,
      document.getElementById('example')
    );
  • 相关阅读:
    WPF之SharpAvi视频录制(AVI)
    WPF之录制桌面视频(FFMPeg)
    Unity3d之Navigation导航系统(AII敌人)
    Unity3D之InstantOC(遮挡剔除)
    Unity3D之Camera
    Unity3D之Material(材质、着色器、纹理)
    分布式服务弹性框架“Hystrix”实践与源码研究(一)
    平安某金所奇葩的面经-关于幂等和ROA设计的反思
    来自GitHub的Android UI开源项目
    JavaScript实现MVVM之我就是想监测一个普通对象的变化
  • 原文地址:https://www.cnblogs.com/jiandanshishu/p/12953280.html
Copyright © 2020-2023  润新知