我有一个应用程序,我需要在其中访问组件外部用户的输入。我也不想将输入存储在状态中,因此它应该是无状态的。我尝试通过像下面。

<input ref="usrname" input id="userName" ref="user" type="text" class="login-input" placeholder="Enter User ID"
onChange={(e)=> {GlobalUserModel.setUserName(e.target.value); e.preventDefault();this.obj=GlobalUserModel}}/>

<button class="btn btn-primary btn-login" class="submit" id="submit" name="submit" onClick={ApiCall.bind(GlobalUserModel)} >Login</button>


并在LoginModel.js中

class LoginModel {
username;
constructor(){
}
setUserName(username1) {
debugger;
this.username = username1;
console.log("username1 : ",username1)
return this.username;
}

getUserName(){
return this.username;
}
};
const GlobalUserModel=new LoginModel();
export default GlobalUserModel;


感谢您的帮助。

最佳答案

首先,我想让您知道必须从组件外部访问DOM是一种不好的做法。它可能会产生副作用和合适的错误。

就您而言,您可以传递onChange prop并在input更改后调用它

10-06 07:36