javascript - 当点击项目不能这样做时。setState REACT
问题描述
当我从其中单击某人时,我有具有不同输入的表单(一个示例已关闭),如果另一个输入打开,我想关闭它们。
也许有人可以说我的错误在哪里?谢谢!
我的代码看起来:
class SignUp extends Component {
constructor() {
super();
this.state = {
selectedCode: false,
};
}
componentDidMount() {
document.addEventListener("click", this.handleClickOutside);
}
componentWillUnmount() {
document.removeEventListener("click", this.handleClickOutside);
}
handleClickOutside(e) {
if (e.target.id !== "code") {
this.setState({
selectedCode: false // here is an error
});
} else {
console.log("YES CODE");
}
}
render (){
return (
<form >
<input .../>
<input id="code" .../>
</form>
}
解决方案
尝试这个
document.addEventListener("click", this.handleClickOutside.bind(this));