gpt4 book ai didi

javascript - react : Component cannot recognize a function

转载 作者:行者123 更新时间:2023-11-28 16:56:48 24 4
gpt4 key购买 nike

在我的应用程序组件中,我调用 checkUserAuth() 方法来检查用户是否登录并根据此呈现不同的内容。当我通过 componentDidMount() 方法调用它时它工作正常,但是如果我尝试通过其他方法调用它它就不起作用:

TypeError: this.checkUserAuth is not a function

在我的代码中:

class App extends React.Component {

constructor() {
super();

this.state = {
loggedIn: false
};

this.checkUserAuth = this.checkUserAuth.bind(this);
}

componentDidMount(){
this.checkUserAuth(); // here this method can be called
}

checkUserAuth(){
const loggedUser = AuthService.isAuthenticated();
if(loggedUser){
store.dispatch(actions.loginSuccess());
this.setState({loggedIn: true});
}
}


logoutUser(){
store.dispatch(actions.logout());
this.checkUserAuth(); // here it return errors
}

如何修复它?

最佳答案

将其放入构造函数中:

this.logoutUser = this.logoutUser.bind(this);

此外,如果您发现总是绑定(bind)东西很乏味,请考虑使用自动绑定(bind)库。我使用 react 自动绑定(bind)

关于javascript - react : Component cannot recognize a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58918834/

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