я наткнулся на вопрос сегодня, рассмотрим следующий компонент:Правильно this.props для уничтожения того всего компонента
export default class Input extends React.Component {
someFunction() {
console.log(this.props.value)
}
render() {
const { type, value, required } = this.props
return (
<div className={cx('Input')}>
<input type={type} value={value} required={required} />
</div>
)
}
}
Я успешно destrucutring this.props
и может использовать их в визуализации, однако, что если мне нужно использовать prop вне его, то есть внутри someFunction()
Я не уверен, что будет последствиями, если я выберу constant { ... }
и включу сразу после export default class Input extends React.Component {
линии. Будет ли это еще справедливо?
Если вы сделаете это, 'this.props' будет неопределенным, так как он будет выполняться до того, как элемент отображается. Почему вы хотите это сделать? –
@JuanMendes для согласованности, поэтому мне не нужно писать this.props вне рендеринга, а также – Ilja
Я не вижу смысла в том, что вы делаете, пытаясь избежать дублирования 'const {type, value, required} = this .props'? Плохая идея, я бы сказал, вполне вероятно, что вам понадобятся разные значения в разных методах. Если вы напишете реальный пример с дублированием, которого вы хотели бы избежать, тогда у вас есть лучший вопрос. Непонятно, зачем вам это нужно, похоже, вы переработали его. –