gpt4 book ai didi

javascript - 简单的 react 组件无法读取状态

转载 作者:行者123 更新时间:2023-12-01 01:04:28 26 4
gpt4 key购买 nike

我有一个登录组件,为了清楚起见,我已将其简化为以下定义

import React from "react";

export default class LoginComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
userName: '',
};
this.updateUserName = this.updateUserName.bind(this);
}

onClickSignUp() {
console.log(this.state);
alert("clicked sign up with value: username=" + this.state.userName);
}
updateUserName(e) {
console.log(e);
this.setState({
userName: e.target.value
});
}

render() {
return (
<div className="LoginComponent">
<h1>Welcome!</h1>

<div className="UserNameSegment">
<text>UserName: </text>
<input id="UserNameInput" value={this.state.userName} onChange={e => this.updateUserName(e)} />
</div>

<div className="ButtonGroup">
<button id="SignUpButton" onClick={this.onClickSignUp}>Sign Up</button>
</div>
</div>
);
}
}

预期的功能是,当我单击注册按钮时,它会显示一条警报,通知我在输入中输入的用户名。目前,当我输入一些文本并单击注册按钮时,应用程序崩溃并告诉我尚未定义 LoginComponent 的状态:Uncaught TypeError:无法读取未定义的属性“state”。我觉得我已经在构造函数中定义了状态...是否存在不会调用构造函数的实例?我在这里缺少什么?

最佳答案

您忘记了构造函数函数中的这一行this.onClickSignUp = this.onClickSignUp.bind(this);

关于javascript - 简单的 react 组件无法读取状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55768395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com