当用户单击提交按钮时,我需要将这些输入字段绑定到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