我有以下代码:
export default class Contact extends React.Component {
constructor(props) {
super(props);
this.state = {
password: '',
redirect: false,
username: ''
};
this.onUsernameChange = this.onUsernameChange.bind(this);
this.onPasswordChange = this.onPasswordChange.bind(this);
}
onUsernameChange(event) {
this.setState({ username: event.target.value });
}
onPasswordChange(event) {
this.setState({ password: event.target.value });
}
handleSubmit(event) {
event.preventDefault();
alert('A name was submitted: ' + this.state.username);
//sessionStorage.setItem('username', this.state.username);
}
render() {
return (
<div>
<form className="form-signin" onSubmit={this.handleSubmit}>
<input type="text" value={this.username} onChange={this.onUsernameChange} />
<input type="password" value={this.password} onChange={this.onPasswordChange} />
<input type="submit" value="Submit" />
</form>
</div>
);
}
}
提交用户名和密码后:出现以下错误:
TypeError: Cannot read property 'state' of undefined
在以下行:
alert('A name was submitted: ' + this.state.username);
有什么问题?用户名不保存吗?(我用的是盖茨比)
我需要补充:
this.handleSubmit = this.handleSubmit.bind(this);
在构造函数中!
您还可以对函数使用es6格式,这将防止每次在构造函数中为绑定此上下文编写额外代码。例如
onUsernameChange = event => {
this.setState({ username: event.target.value });
}
您还忘了绑定handleSubmit
做:
this.onUsernameChange = this.onUsernameChange.bind(this);
this.onPasswordChange = this.onPasswordChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
在构造函数中
我可以在我的post模板中映射,没有麻烦,比如我想获得每个工具的名称: 我将这个数组传递给我的SEO组件,如下所示: 然后在我的SEO组件中,我可以访问那里的所有内容,这是我组件中的内脏,但map函数在这里不工作,我不知道为什么?
我试图用ReactJS更新组件的状态,但得到以下错误。下面提供了错误和代码。 可能未处理的拒绝[1]类型错误:无法读取未定义的属性“setState”
问题内容: 我正在通过教程学习reactjs并遇到此错误。那就是“无法读取未定义的属性’keys’”。我的代码非常少,因此我认为它与语言的结构有关。有谁知道这个问题和可能的解决方案? 问题答案: 编辑:奇怪的是,在我们上面的评论之后,我检查了一下它是否确实是babel核心版本,我在小提琴中使用了这个版本: 我在上面第二个切换到您的版本时得到以下信息: 使用not 并在括号中包裹多行html,如下所
我是一个初学者,学习反应和还原。我写了这个关于如何在Redux中使用Connect.js的演示。搜索这类问题,但我的代码没有正确的答案。我得到了一个未定义的上下文。是错字吗?还是我以错误的方式传递了上下文?提前谢了。这是我的代码。 index.js /store/index.js Constants.js
运行此代码时,在的第一行出现错误 TypeError:无法读取未定义的属性“array” 代码: 我试着搜索,但没有得到正确的解。
问题内容: 运行此代码时,我在第一行出现错误 TypeError:无法读取未定义的属性“数组” 码: 我尝试搜索,但没有得到正确的解决方案。 问题答案: 道具类型现在是一个单独维护的库,名称为 这里是react- docs的解释:https : //reactjs.org/docs/typechecking-with- proptypes.html 您必须将它们导入为 NPM套餐