в чем разница между getDefaultProps и getInitialState react js

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я новичок в react js.

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

У меня одинаковые значения для getDefaultProps и для getInitialState :

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

В чем логическая разница между обоими. что должно быть переопределено или какой из них будет выполняться первым.

Спасибо.

Комментарии:

1. google.com/…

Ответ №1:

getInitialState

  • Объект **getInitialState()** вызывается один раз перед монтированием компонента. Возвращаемое значение будет использоваться в качестве начального значения this.state.

Примечание: Этот метод недоступен в компонентах класса ES6, которые расширяют React.Компонент. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей документацией о классах ES6.

getDefaultProps

  • Объект **getDefaultProps()** вызывается один раз и кэшируется при создании класса. Значения в сопоставлении будут установлены для this.props, если этот параметр не указан родительским компонентом (т. Е. С использованием проверки in).
  • Этот метод вызывается до создания каких-либо экземпляров и, следовательно, не может полагаться на this.props. Кроме того, имейте в виду, что любые сложные объекты, возвращаемые getDefaultProps() , будут совместно использоваться экземплярами, а не копироваться.

Ответ №2:

getDefaultProps предназначен для реквизитов по умолчанию, если вы не введете этот реквизит, он будет работать.

getInitialState — это состояние ini, перед монтированием компонента.

На самом деле, в чем разница между реквизитами и состоянием, как только вы поймете их различия, разницу между значениями по умолчанию легко понять.

Ответ №3:

getDefaultProps() для свойств.

getInitialState() для состояний.