Tôi có thành phần này:
import React from 'react';
export default class AddItem extends React.Component {
add() {
this.props.onButtonClick(this.input.value);
this.input.value = '';
}
render() {
return (
<div className="add-item">
<input type="text" className="add-item__input" ref={(input) => this.input = input} placeholder={this.props.placeholder} />
<button disabled={!this.input.value} className="add-item__button" onClick={this.add.bind(this)}>Add</button>
</div>
);
}
}
Tôi muốn nút bị vô hiệu hóa khi giá trị đầu vào trống. Nhưng đoạn mã trên không hoạt động. Nó nói rằng:
add-item.component.js: 78 Uncaught TypeError: Không thể đọc thuộc tính 'value' của undefined
trỏ tới disabled={!this.input.value}
. Tôi có thể làm gì sai ở đây? Tôi đoán rằng có lẽ ref vẫn chưa được tạo khi render
phương thức được thực thi. Nếu, vậy cách giải quyết là gì?