Tôi đã sau Phản ứng thành phần:Phản ứng Mẫu Component onSubmit Handler không làm việc
class Form extends React.Component {
handleSubmit(e) {
e.preventDefault();
let loginInput = ReactDOM.findDOMNode(this.refs.login);
// change Main component's state
this.props.addCard(loginInput.value);
// reset the form
loginInput.value = '';
}
render() {
return(
<form onSubmit={this.handleSubmit}>
<input placeholder="githug login" ref="login" />
<button>Add Login</button>
</form>
);
}
}
Như bạn thấy, tôi muốn các chức năng handleSubmit
được gọi bất cứ khi nào biểu mẫu được gửi. Tôi đã chỉ ra điều này bằng cách thêm hàm vào trình xử lý onSubmit
.
Chức năng đang được gọi vào đúng thời điểm. Tuy nhiên, giá trị của this
trong hàm đó là null
. Điều này là đáng ngạc nhiên đối với tôi, như tôi mong đợi giá trị của this
là thành phần React. Thực tế là this
là null là đáng ngạc nhiên với tôi, bởi vì tôi đang sử dụng một logic rất giống nhau/mã như đề nghị của official React documentation.
Tôi sẽ đánh giá cao sự trợ giúp trong việc tìm ra lý do tại sao this
không phải là thành phần React, như mong đợi và cách sửa mã đó.
http://www.newmediacampaigns.com/blog/refactoring-react-components-to-es6-classes --- xem bướC# 3 hoặc https://facebook.github.io/react/blog/ 2015/01/27/react-v0.13.0-beta-1.html # autobinding hoặc http://egorsmirnov.me/2015/08/16/react-and-es6-part3.html – zerkms