zoukankan      html  css  js  c++  java
  • React的getDefaultProps和getInitialState

    getDefaultProps 不是获取默认props,而是设置默认props,主要用在ES5的React写法中
    getInitialState 不是获取默认State,而是设置初始的state,主要是用在ES5的React写法中

    下面是ES5和ES6的写法对比

    //ES5写法
    var Video = React.createClass({
        getDefaultProps: function(){
            return {
                autoPlay: false,
                maxLoops: 10
            }
        },
        getInitialState: function(){
            return {
                loopsRemaining: this.props.maxLoops
            }
        },
        propTypes: {
            autoPlay: React.PropTypes.bool.isRequired,
            maxLoops: React.PropTypes.number.isRequired,
            posterFrameSrc: React.PropTypes.string.isRequired,
            videoSrc: React.PropTypes.string.isRequired
        }
    })
    
    //ES6写法
    class Video extends React.Component {
        static defaultProps = {
            autoPlay: false,
            maxLoops: 10
        }
        static propTypes = {
            autoPlay: React.PropTypes.bool.isRequired,
            maxLoops: React.PropTypes.number.isRequired,
            posterFrameSrc: React.PropTypes.string.isRequired,
            videoSrc: React.PropTypes.string.isRequired
        }
        //构造函数写法
        constructor(props){
            this.state = {
                ...
            }
        }
        //非构造函数写法
        state = {
            loopsRemaining: this.props.maxLoops
        }
    }
    
    //组件外部写法
    Video.defaultProps = {
        autoPlay: false,
        maxLoops: 10
    }
  • 相关阅读:
    SQL Server 的事务和锁 图解
    pxc 集群
    Supported_Hardware#4G_LTE_cards_and_modems
    手机性能天梯图
    无线上网卡制式
    python源码学习
    SQLSERVER里面RR隔离级别没有GAP锁
    JAVA EE 博客实例
    REDIS 配制
    SQL SERVER 函数与SQL语法
  • 原文地址:https://www.cnblogs.com/mengff/p/9517793.html
Copyright © 2011-2022 走看看