#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()
для состояний.