當用戶單擊提交按鈕時,我需要將這些輸入字段綁定到Message接口的實例,爲此,我在類
中創建了一個Message對象,並設置了輸入表單中的值(keepNameUpdated())。「this」在React組件事件處理程序中未定義
當我輸入的東西,它拋出
Uncaught TypeError: Cannot read property 'message' of undefined
所以它說:「這」是不確定的,但爲什麼呢?
這裏是我的代碼:
export class IMessage {
Name: string;
Surname: string;
}
export default class Contact extends React.Component<IContactProperties, IWebPartState> {
message : IMessage;
constructor(props: IContactProperties, state: IWebPartState) {
super(props);
this.message = new IMessage();
}
public render(): JSX.Element {
return (
<div className="row">
<div className="form-group col-md-6">
<label >Name</label>
<input type="text" className="form-control" onChange={this.keepNameUpdated} id="name" placeholder="Adiniz" />
</div>
<div className="form-group col-md-6">
<label >Surname</label>
<input type="text" className="form-control" id="surname" placeholder="Soyadiniz" />
</div>
<div className="form-group col-md-12">
<button type="button" className="btn btn-success" onClick={this.clickSubmit}><i className="fa fa-save"></i> Submit</button>
</div>
</div>
);
}
private keepNameUpdated(e) {
this.message.Name=e.target.value;
}
private keepSurnameUpdated(e) {
this.message.Surname=e.target.value;
}
位。渲染函數在哪裏? – x0n
我很簡單,這個返回jsx元素方法actualy屬於渲染功能 – TyForHelpDude
比完整不完整:) – x0n