Tôi đã xem qua một vấn đề ngày hôm nay, xem xét thành phần sau đây:đúng destructuring this.props cho toàn bộ thành phần
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>
)
}
}
Tôi destrucutring thành công this.props
và có thể sử dụng chúng trong render, tuy nhiên những gì nếu tôi cần phải sử dụng prop giá trị bên ngoài của nó tức là bên trong someFunction()
Tôi không chắc chắn những gì sẽ là hậu quả nếu tôi di chuyển ra constant { ... }
và bao gồm ngay sau khi export default class Input extends React.Component {
dòng. Điều này vẫn còn hợp lệ?
Nếu bạn làm điều đó, 'this.props' sẽ được undefined vì nó sẽ thực hiện trước khi mặt hàng đó được trả lại. Tại sao bạn muốn làm điều đó? –
@JuanMendes cho tính nhất quán, vì vậy tôi không cần phải viết this.props bên ngoài render cũng – Ilja
Tôi không thấy điểm của những gì bạn đang làm, cố gắng tránh trùng lặp 'const {type, value, required} = this .props'? Ý tưởng tồi tôi sẽ nói, có khả năng là bạn sẽ cần các giá trị khác nhau theo các phương pháp khác nhau. Nếu bạn viết một ví dụ thực sự với bản sao bạn muốn tránh, thì bạn có cho mình một câu hỏi hay hơn. Không rõ tại sao bạn cần điều này, có vẻ như bạn đang over-engineering nó –