首页 > 解决方案 > 当点击项目不能这样做时。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>
}

标签: javascriptreactjs

解决方案


尝试这个

document.addEventListener("click", this.handleClickOutside.bind(this));

推荐阅读