Javascript ReactJs将值传递给另一个js文件中的函数

Javascript ReactJs将值传递给另一个js文件中的函数,javascript,reactjs,Javascript,Reactjs,Login.js import FormValidation from './validation/Form' //this is Form.js constructor(props) { super(props); this.state = { submit: true, errorMessage: '' }; } <span>{this.state.errorMessage}</span> <label><inpu

Login.js

import FormValidation from './validation/Form' //this is Form.js

constructor(props) {
  super(props);

  this.state = {
    submit: true,
    errorMessage: ''
  };
}

<span>{this.state.errorMessage}</span>

<label><input type="text" name="tel" onBlur={this.FormValidation.validation.phone.blur} value={this.state.telValue}/></label>
let validation = {}

const FormValidation = (e) => {
  validation = {
    phone: {
      blur: (e) => {
        let v = e.target.value;
        console.log(v);
if(v.length <= 0){
    this.setState({submit: false, errorMessage: 'can not empty!'})
}
      }
    }
  }
}

export default FormValidation;
import FormValidation from './validation/Form' //this is Form.js

constructor(props) {
    super(props);

    this.state = {
        submit: true,
        errorMessage: '',
        telValue: ''
    };

    handleBlur = (e) => {
        const value = e.target.value
        const validationError = FormValidation.validation.phone.blur(value)
        if (validationError) {
            this.setState({
                submit: validationError.submit,
                errorMessage: validationError.errorMessage
            })
        } else {
            this.setState({
                telValue: value
            })
        }
    }

    render () {
        return (
            <label>
                <span>
                    {this.state.errorMessage}
                </span>
                <input type="text" name="tel" onBlur={this.handleBlur} value={this.state.telValue}/>
            </label>
        )
    }
}
let validation = {}



const FormValidation = {
    validation = {
        phone: {
            blur: (value) => {
                console.log(value);
                if (value.length <= 0) {
                    return {submit: false, errorMessage: 'can not empty!'}
                }
            }
        }
    }
}

export default FormValidation;
import FormValidation from./validation/Form'//这是Form.js
建造师(道具){
超级(道具);
此.state={
提交:正确,
错误消息:“”
};
}
{this.state.errorMessage}
Form.js

import FormValidation from './validation/Form' //this is Form.js

constructor(props) {
  super(props);

  this.state = {
    submit: true,
    errorMessage: ''
  };
}

<span>{this.state.errorMessage}</span>

<label><input type="text" name="tel" onBlur={this.FormValidation.validation.phone.blur} value={this.state.telValue}/></label>
let validation = {}

const FormValidation = (e) => {
  validation = {
    phone: {
      blur: (e) => {
        let v = e.target.value;
        console.log(v);
if(v.length <= 0){
    this.setState({submit: false, errorMessage: 'can not empty!'})
}
      }
    }
  }
}

export default FormValidation;
import FormValidation from './validation/Form' //this is Form.js

constructor(props) {
    super(props);

    this.state = {
        submit: true,
        errorMessage: '',
        telValue: ''
    };

    handleBlur = (e) => {
        const value = e.target.value
        const validationError = FormValidation.validation.phone.blur(value)
        if (validationError) {
            this.setState({
                submit: validationError.submit,
                errorMessage: validationError.errorMessage
            })
        } else {
            this.setState({
                telValue: value
            })
        }
    }

    render () {
        return (
            <label>
                <span>
                    {this.state.errorMessage}
                </span>
                <input type="text" name="tel" onBlur={this.handleBlur} value={this.state.telValue}/>
            </label>
        )
    }
}
let validation = {}



const FormValidation = {
    validation = {
        phone: {
            blur: (value) => {
                console.log(value);
                if (value.length <= 0) {
                    return {submit: false, errorMessage: 'can not empty!'}
                }
            }
        }
    }
}

export default FormValidation;
let验证={}
const FormValidation=(e)=>{
验证={
电话:{
模糊:(e)=>{
设v=e.target.value;
控制台日志(v);

如果(v.length我为代码中有问题的部分添加了注释:

// FormValidation is a function, but in your input you are using it as an object.
const FormValidation = (e) => {
    validation = {
        phone: {
            blur: (e) => {
                let v = e.target.value;
                console.log(v);
                if (v.length <= 0) {
                    // FormValidation is not a React component, so it doesn't have a state. You should just return the error:
                    // return {submit: false, errorMessage: 'can not empty!'}
                    this.setState({submit: false, errorMessage: 'can not empty!'})
                }
            }
        }
    }
}

export default FormValidation;
//FormValidation是一个函数,但在您的输入中,您将其用作对象。
const FormValidation=(e)=>{
验证={
电话:{
模糊:(e)=>{
设v=e.target.value;
控制台日志(v);

如果(v.length)您试图获取一个类的方法,而不是从它的实例对象……谢谢,只有一件事,根据您的回答,我需要设置多个处理程序来将变量传递给验证,我正在寻找一种更简洁的方法,那么有没有一种方法可以将字符串传递给处理程序,然后传递给类?比如
onBlur={this.handleBlur(this,'phone')}