getDefaultProps和getInitialState之间有什么区别反应js

时间:2016-10-19 14:00:03

标签: javascript reactjs

我是反应中的新手。

getDefaultProps () {
    return {
        backgroundColor: 'gray',
        height: 200,
        width: 200
    }
},

getDefaultPropsgetInitialState的价值相同:

getInitialState () {
    return {
        backgroundColor: 'gray',
        height: 200,
        width: 200
    }
},

两者之间的逻辑差异是什么。哪个应该覆盖或哪个将首先执行。

感谢。

3 个答案:

答案 0 :(得分:5)

<强> getInitialState

  • 对象**getInitialState()**在组件之前调用一次 安装。返回值将用作初始值 this.state。
  

注意:此方法在扩展的ES6类组件上不可用   React.Component。有关更多信息,请阅读我们的文档   关于ES6课程。

<强> getDefaultProps

  • 对象**getDefaultProps()**调用一次并在类中缓存 被建造。如果是,则映射中的值将在this.props上设置 prop组件未指定prop(即使用in 检查)。
  • 在创建任何实例之前调用此方法 不能依赖this.props。另外,要注意任何复杂的 getDefaultProps()返回的对象将被共享 实例,未复制。

答案 1 :(得分:3)

getDefaultProps 是默认道具,如果你没有注入这个道具,它就会起作用。

在安装组件之前,

getInitialState 用于ini状态。

事实上,道具之间的区别是什么,一旦你理解了它们的差异,它们的默认值就会很容易理解。

答案 2 :(得分:0)

getDefaultProps()适用于属性。

getInitialState()适用于各州。