代码之家  ›  专栏  ›  技术社区  ›  bp123

函数不是函数,我不知道为什么

  •  -1
  • bp123  · 技术社区  · 7 年前

    我得到了错误 formValidationTest is not a function 在控制台中,单击引发handleSubmit的submit按钮。我不明白为什么我会收到这个信息。有人能解释一下吗。

    formValidationTest.js

    function formValidationTest(formData) {
      console.log('Test function');
    
      return true;
    }
    
    export default formValidationTest();
    

    路径: Signup.jsx

    export default class Signup extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          email: ''
        };
    
        this.handleSubmit = this.handleSubmit.bind(this);
      }
    
      handleSubmit(e) {
        e.preventDefault();
    
        const formErrors = formValidationTest('test');
      }
    
      render() {
        const { email } = this.props;
    
        return (
          <div>
            <form className="needs-validation" noValidate>
              <label htmlFor="email">Email</label>
              <input
                type="email"
                id="email"
                aria-describedby="emailHelp"
                placeholder="Email"
                name="email"
                value={email}
                onChange={this.handleInputChange}
              />
              <div className="invalid-feedback">{emailValidationMessage}</div>
              <button type="submit" className="btn btn-primary btn-block" onClick={this.handleSubmit}>
                Sign up
              </button>
            </form>
          </div>
        );
      }
    }
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   rickdenhaan    7 年前

    您正在导出 的结果 这个 formValidationTest 功能。删除括号:

    export default formValidationTest;