为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:无法读取未定义的属性“ChangeClassName”

类型错误:无法读取未定义的属性“ChangeClassName”

吃鸡游戏 2021-12-23 19:46:57
以下代码在 this.ChangeClassName 方法调用上返回 TypeError。有什么问题?我尝试在没有“这个”的情况下使用。在同一个类的另一个方法中调用嵌套方法很重要。import React from 'react'import styling from '../Login/Login.css'class Login extends React.Component {    constructor(props) {        super(props);        this.state = {            active: false,        }        this.ChangeClassName = this.ChangeClassName.bind(this);    }    ChangeClassName() {        this.setState({            active: true        });    }    LoginClick (event) {        event.preventDefault();        this.ChangeClassName();    }    render() {        return (            <div className="login-page">                <div className={ this.state.active ? 'form color-change-5x': 'form' }>                    <form className="login-form">                        <input type="text" placeholder="username" />                        <input type="password" placeholder="password" />                        <button onClick={this.LoginClick}>login</button>                    </form>                </div>            </div>        )    }}export default Login;
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

ChangeClassName在你的构造函数中绑定,这很好。问题是你从内部调用它LoginClick

LoginClick不受任何约束,因此this.ChangeClassName转化为调用ChangeClassName不同的范围。

也尝试为该方法添加绑定:

this.ChangeClassName = this.ChangeClassName.bind(this);
this.LoginClick = this.LoginClick.bind(this);


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信